1221. Split a String in Balanced Strings

Difficulty:
Related Topics:
Similar Questions:

    Problem

    Balanced strings are those that have an equal quantity of 'L' and 'R' characters.

    Given a balanced string s, split it into some number of substrings such that:

    Return **the *maximum* number of balanced strings you can obtain.**

      Example 1:

    Input: s = "RLRRLLRLRL"
    Output: 4
    Explanation: s can be split into "RL", "RRLL", "RL", "RL", each substring contains same number of 'L' and 'R'.
    

    Example 2:

    Input: s = "RLRRRLLRLL"
    Output: 2
    Explanation: s can be split into "RL", "RRRLLRLL", each substring contains same number of 'L' and 'R'.
    Note that s cannot be split into "RL", "RR", "RL", "LR", "LL", because the 2nd and 5th substrings are not balanced.
    

    Example 3:

    Input: s = "LLLLRRRR"
    Output: 1
    Explanation: s can be split into "LLLLRRRR".
    

      Constraints:

    Solution (Java)

    class Solution {
        public int balancedStringSplit(String s) {
            int i = 0;
            int balancedCount = 0;
            int lCount = 0;
            int rCount = 0;
            while (i < s.length()) {
                if (s.charAt(i) == 'L') {
                    lCount++;
                } else {
                    rCount++;
                }
                i++;
                if (lCount != 0 && lCount == rCount) {
                    lCount = 0;
                    rCount = 0;
                    balancedCount++;
                }
            }
            return balancedCount;
        }
    }
    

    Explain:

    nope.

    Complexity: