LeetCode-in-Java

1221. Split a String in Balanced Strings

Easy

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

Given a balanced string s, split it in the maximum amount of balanced strings.

Return the maximum amount of split balanced strings.

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 = “RLLLLRRRLR”

Output: 3

Explanation: s can be split into “RL”, “LLLRRR”, “LR”, each substring contains same number of ‘L’ and ‘R’.

Example 3:

Input: s = “LLLLRRRR”

Output: 1

Explanation: s can be split into “LLLLRRRR”.

Constraints:

Solution

public 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;
    }
}