分析: 1、栈的方法。 判断栈是否为空,空就字符入栈。判断字符是否不同于栈底部元素,不同就顶部元素出栈,同就字符入栈。每当栈为空,结果累计一次。 2、计算器的方法。 初始n,m=0。判断字符是否等于‘L’(或者等于‘R’),相同就n加一,不同就n减一。每当n==0时,num累计一次。 class Solution: def balancedStringSplit(self, s: str) -> int: stack = [] res = 0 for i in s: if not stack: stack.append(i) #print(stack) elif stack[-1]!=i: stack.pop() else: stack.append(i) if not stack: res+=1 return res def balancedStringSplit1(self, s: str) -> int: n = 0 m = 0 for i in s: if i == "L": n += 1 else: n -= 1 #print(n) if n == 0: m += 1 return m if __name__ == &#
python balancedStringSplit 分割平衡字符串
最新推荐文章于 2022-11-14 18:11:10 发布