Python程式:檢查括號是否平衡且格式正確
假設我們有一串括號(圓括號、花括號和方括號),我們需要檢查這些括號是否平衡(格式正確)。
因此,如果輸入類似於 s = "([()()]{[]})()",則輸出為 True
為了解決這個問題,我們將遵循以下步驟:
- stack := 新建一個列表
- d := 一個雜湊對映,鍵值對為 ('}', '{'),(')','('), (']', '[')
- 對於s中的每個字元c,執行:
- 如果c是'\}])'中的任意一個,則
- 如果stack為空或stack的頂部與d[c]不同,則
- 返回False
- 從stack中彈出
- 如果stack為空或stack的頂部與d[c]不同,則
- 否則,
- 將c壓入stack
- 如果c是'\}])'中的任意一個,則
- 當stack為空時返回true,否則返回false
讓我們看看下面的實現,以便更好地理解:
示例
class Solution:
def solve(self, s):
stack = []
d = {'}': '{',')': '(',']': '['}
for c in s:
if c in '}])':
if not stack or stack[-1] != d[c]:
return False
stack.pop()
else:
stack.append(c)
return not stack
ob = Solution()
print(ob.solve("([()()]{[]})()"))輸入
"([()()]{[]})()"輸出
True
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP