This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
'''
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。
示例 1:输入: "()" 输出: true
示例 2:输入: "()[]{}" 输出: true
示例 3:输入: "(]" 输出: false
示例 4:输入: "([)]" 输出: false
示例 5:输入: "{[]}" 输出: true
class Solution(object):
def isValid(self,s):
"""
:type s:str
:rtype: bool
stack = []
d = ["()", "[]", "{}"]
for i in xrange(0,len(s)):
stack.append(s[i]) # 在列表末尾添加新的对象
if len(stack) >=2 and stack[-2]+stack[-1] in d:
stack.pop() # 移除列表中最后一个元素,并且返回该元素的值
stack.pop()
return len(stack) == 0