給一個括號字符串序列邓线,判斷所有的括號是否匹配
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
__title__ = ''
__author__ = 'thinkreed'
__mtime__ = '2017/3/22'
"""
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
stack = []
for i in range(len(s)):
#將對應(yīng)的另一半括號壓棧
if s[i] == '(':
stack.append(')')
elif s[i] == '{':
stack.append('}')
elif s[i] == '[':
stack.append(']')
else:
#如果最先出棧的不是和當(dāng)前元素相同的括號拉宗,則不匹配
if not stack or stack.pop() != s[i]:
return False
#棧為空佣渴,所有的括號都已經(jīng)匹配
return True if not stack else False