<题目描述>
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
<原题链接>
https://leetcode-cn.com/problems/valid-parentheses/
<理明思路>
可以使用栈或类似栈的数据结构来处理括号匹配问题。
<样例代码>
#!/usr/bin/python3
class Solution:
def isValid(self, s):
if len(s) == 1:
return False
left_s = '([{'
right_s = ')]}'
bracket = []
for i in s:
if i in left_s:
bracket.append(i)
elif i in right_s:
if len(bracket) == 0:
return False
if right_s.index(i) != left_s.index(bracket.pop()):
return False
if len(bracket) == 0:
return True
else:
return False