分割平衡字符串
在一个 平衡字符串 中,'L' 和 'R' 字符的数量是相同的。
给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。
注意:分割得到的每个字符串都必须是平衡字符串,且分割得到的平衡字符串是原平衡字符串的连续子串。
返回可以通过分割得到的平衡字符串的 最大数量 。
示例 1:
输入:s = "RLRRLLRLRL"
输出:4
解释:s 可以分割为 "RL"、"RRLL"、"RL"、"RL" ,每个子字符串中都包含相同数量的 'L' 和 'R' 。
1
2
3
2
3
/**
* @param {string} s
* @return {number}
*/
var balancedStringSplit = function(s) {
if(s.length === 2) return 1
let arr = s.split("")
let len = arr.length
let l = 0
let r = 0
let ans = 0
for (let i = 0; i < len; i++) {
if(arr[i] === 'L') {
l++
}else {
r++
}
if(l === r) {
ans++
l = 0
r = 0
}
}
return ans
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* @param {string} s
* @return {number}
*/
var balancedStringSplit = function(s) {
let ans = 0, d = 0;
for (let i = 0; i < s.length; ++i) {
const ch = s[i];
if (ch === 'L') {
++d;
} else {
--d;
}
if (d === 0) {
++ans;
}
}
return ans;
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/split-a-string-in-balanced-strings