Python 括号字符串匹配 LeetCode No.20
思路: 主要思路也很简单,这属于栈这种数据结构的简单题。首先我们应该把括号的左半边压入栈中,当遇到右括号的时候,通过栈的pop操作,推出栈顶元素,与之配对,匹配了,就代表当前的操作是没有问题的,不匹配那就错了呗。 当然还有一种情况,当所有右括号都被匹配的时候,栈里面还有元素,那就代表,错了呗,如果完全匹配,stack中的元素应该是空的。
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
stack = []
kohaomap = {"}":"{","]":"[",")":"("}
for i in s:
if i not in kohaomap:
stack.append(i)
elif not stack or kohaomap[i] != stack.pop():
return False
return not stack