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.
|
|
|
|
'''
|
|
|
|
|
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。
|
|
|
|
|
有效字符串需满足:
|
|
|
|
|
左括号必须用相同类型的右括号闭合。
|
|
|
|
|
左括号必须以正确的顺序闭合。
|
|
|
|
|
注意空字符串可被认为是有效字符串。
|
|
|
|
|
示例 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
|