给定一个只包括 ‘(‘,‘)‘,‘{‘,‘}‘,‘[‘,‘]‘ 的字符串,判断字符串是否有效。有效字符串需满足以下要求:
1,左括号必须用相同类型的右括号闭合。
2,左括号必须以正确的顺序闭合。
3,注意空字符串可被认为是有效字符串。
例如,"{[{()}]()}"就是一个闭合的有效字符串。
这里我们运用 栈
里面 先进后出
的思想来处理问题。
s = ‘[sfddsf]{kohij]k}‘ def isValid(s): stack = [] for char in s: if char == ‘[‘ or char == ‘{‘ or char == ‘(‘: stack.append(char) if char == ‘]‘: if len(stack)==0 or stack.pop()!=‘[‘: return False if char == ‘}‘: if len(stack)==0 or stack.pop()!=‘{‘: return False if char == ‘)‘: if len(stack)==0 or stack.pop()!=‘(‘: return False return True if len(stack)==0 else False print(isValid(s))
原文:https://www.cnblogs.com/sunny0824/p/13639261.html