您的位置:首页 > 其它

32.leetCode 20. Valid Parentheses

2018-01-16 09:06 351 查看
【题目】:

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.

【分析】:

从左到右遍历字符串,将当前字符与前一个的字符进行比较,若成对则将之前的字符删除。若是左括号,则放入到栈中。

【Python代码】:

class Solution:
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
if len(s)%2 == 1:
return False
map = {')':'(',']':'[','}':'{'}
brackets = []

for item in s:
if brackets:
bracket = brackets[-1]
else:
brackets.append(item)
continue

if item in map.values():
brackets.append(item)
if item in map.keys():
if map[item] == bracket:
brackets.pop()
else:
return False

if brackets:
return False
else:
return True
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: