856. 括号的分数
Ideas遇到括号那基本就是用栈了。
括号的分数会因为深度的增加而成倍增加,所以利用栈的时候需要记录深度。
遇到一个(的时候,将深度+1,并且新的深度得分置为0,遇到一个)的时候,将深度的得分乘二并加到上一层的深度。
如果遇到的是(),那么只将得分加一。
Code Pythonclass Solution: def scoreOfParentheses(self, s: str) -> int: stack = [0] for i in s: if i == '(': stack.append(0) else: v = stack.pop() stack[-1] += max(2 * v, 1) return stack.pop()