<題目描述>
給定一個只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判斷字符串是否有效。
有效字符串需滿足:
左括號必須用相同類型的右括號閉合。
左括號必須以正確的順序閉合。
<原題鏈接>
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