試解leetcode算法題--有效的括號

<題目描述>
給定一個只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判斷字符串是否有效。
有效字符串需滿足:
左括號必須用相同類型的右括號閉合。
左括號必須以正確的順序閉合。
<原題鏈接>
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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章