python stack 使括號有效的最小數
阿新 • • 發佈:2018-12-10
Leetcode 921 Minimum Add to Make Parentheses Valid
思想:建立空棧,遍歷字串,遇到左括號壓入棧中,遇到有括號進行判斷,如果棧空直接壓入棧中,如果與棧頂元素匹配則棧頂元素出棧,否則壓棧,返回棧中元素的個數即為所求
class Solution(object): def minAddToMakeValid(self, S): """ :type S: str :rtype: int """ stack=[] for x in S: if x=='(': stack.append(x) elif x==')': if not stack: stack.append(x) elif stack[-1]=='(': stack.pop() else: stack.append(x) return len(stack)