leetcode刷题day1
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例:
输入: “{[]}” -> true
输入: “([)]” -> false。
代码如下:
class Solution(object):
def isValid(self, s):
"""
:type s: str
:rtype: bool
"""
left_right = {'(':')','[':']','{':'}'}
if len(s)%2==1:
return False
left_list = []
right_list = []
for each in s:
if each in left_right.keys():
left_list.append(each)
right_list.append(left_right[each])
elif len(right_list)>0 and (each==right_list[-1]):
left_list.pop()
right_list.pop()
else:
return False
if len(left_list)==0:
return True
else:
return False