LeetCode-1221 Split a String in Balanced Strings

1. Description

给定一个字符串 s 是一个只包含 'L' or 'R' 的平衡串(L 和 R 数目一样多),求可以分成多少个平衡子串。

https://leetcode.com/problems/split-a-string-in-balanced-strings/

2. Solution

抓住子串中L和R数目相等这个条件,则从头扫描原串,分别记录L、R个数,如果相等一次,则构成平衡子串,最后放回最大个数。

3. Code

class Solution {
    public int balancedStringSplit(String s) {
        int splitNum = 0;
        int lnum = 0, rnum = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == 'L')
                lnum++;
            else
                rnum++;
            if (lnum == rnum) 
                splitNum++;
        }   
        return splitNum;
    }
}

  

猜你喜欢

转载自www.cnblogs.com/sheepcore/p/12524085.html