题目:
Given a string containing just the characters '('
, ')'
, '{'
, '}'
, '['
and ']'
, determine if the input string is valid.
The brackets must close in the correct order, "()"
and "()[]{}"
are all valid but "(]"
and "([)]"
are not.
输入一个纯包含括号的字符串,要求验证字符串的正确性,‘([)]’,‘((((’等都是错误输入
代码:
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
label1 = {')':'(','}':'{',']':'['}
label2 = ['(','[','{']
label3 = {')',']','}'}
if s[0] in label3 or len(s)%2!=0:
return False
else:
re = [s[0]]
slength = len(s)
for i in range(1,slength):
if s[i] in label2:
re.append(s[i])
else:
if label1[s[i]] == re[-1]:
re.pop(-1)
else:
return False
if re!=[]:
return False
return True
s = Solution()
print s.isValid('((((')
最后两行是测试代码