[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".
 

Constraints:

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

 

python3:

 1 class Solution:
 2     def balancedStringSplit(self, s: str) -> int:
 3         l = 0
 4         r = 0
 5         rst = 0
 6         for s_str in s:
 7             if s_str == 'L':
 8                 l += 1
 9             elif s_str == 'R':
10                 r += 1
11             if l == r:
12                 rst += 1
13                 l = 0
14                 r = 0
15         return rst
posted @ 2019-10-16 16:09  界757  阅读(277)  评论(0编辑  收藏  举报