LeetCode 1221. 分割平衡字符串 (Java)

  1. 分割平衡字符串
    在一个「平衡字符串」中,‘L’ 和 ‘R’ 字符的数量是相同的。
    给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。
    返回可以通过分割得到的平衡字符串的最大数量。

示例 1:
输入:s = “RLRRLLRLRL”
输出:4
解释:s 可以分割为 “RL”, “RRLL”, “RL”, “RL”, 每个子字符串中都包含相同数量的 ‘L’ 和 ‘R’。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/split-a-string-in-balanced-strings
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路:不需要实际进行分割操作,只需计数便可实现,遇见"R"或者"L"便开始计数,然后字母变换后,开始减数,一次循环计为一个平衡字符串。

class Solution {
    public int balancedStringSplit(String s) {
        int num = 0;
        int n = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i)=='R')
                n++;
            if (s.charAt(i) == 'L')
                n--;
            if (n == 0)
                num++;
        }
        return num;
    }
}
发布了36 篇原创文章 · 获赞 0 · 访问量 483

猜你喜欢

转载自blog.csdn.net/nuts_and_bolts/article/details/104672261