1. 程式人生 > 實用技巧 >[LeetCode]1221. 分割平衡字串

[LeetCode]1221. 分割平衡字串

在一個「平衡字串」中,'L' 和 'R' 字元的數量是相同的。

給出一個平衡字串 s,請你將它分割成儘可能多的平衡字串。

返回可以通過分割得到的平衡字串的最大數量。

示例 1:

輸入:s = "RLRRLLRLRL"
輸出:4
解釋:s 可以分割為 "RL", "RRLL", "RL", "RL", 每個子字串中都包含相同數量的 'L' 和 'R'。
示例 2:

輸入:s = "RLLLLRRRLR"
輸出:3
解釋:s 可以分割為 "RL", "LLLRRR", "LR", 每個子字串中都包含相同數量的 'L' 和 'R'。
示例 3:

輸入:s = "LLLLRRRR"
輸出:1
解釋:s 只能保持原樣 "LLLLRRRR".

提示:

  • 1 <= s.length <= 1000
  • s[i] = 'L' 或 'R'
  • 分割得到的每個字串都必須是平衡字串。

來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/split-a-string-in-balanced-strings
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。

public class Solution {
    public int BalancedStringSplit(string s) {
        int num = 0;
        int count = 0;
        foreach(char ch in s){
            num += (ch == 'R' ? 1 : -1);
            if(num == 0){
                count++;
            }
        }
        return count;
    }
}