You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
961 B

This file contains ambiguous Unicode characters!

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