LeetCode 1221. Split a String in Balanced Strings

Balanced strings are those who have 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 splitted 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".
Example 4:

Input: s = "RLRRRLLRLL"
Output: 2
Explanation: s can be split into "RL", "RRRLLRLL", since each substring contains an equal number of 'L' and 'R'

Constraints:

1 <= s.length <= 1000
s[i] = 'L' or 'R'

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int balancedStringSplit(char * s){
    int count = 0;
    int val = 0;
    char* c = s;
    while(*c!='\0'){
        if(*c=='R'){
            ++val;
        }
        else{
            --val;
        }
        if(val==0){
            ++count;
        }
        ++c;
    }
    return count;
}


Leave a Reply

Your email address will not be published. Required fields are marked *