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; } }