牛客網 檢查括號匹配是否合法 Python

2021-09-29 10:39:52 字數 805 閱讀 4900

演算法的基本思想

1.凡出現左括弧,則進棧;

2.凡出現右括弧,首先檢查棧是否空

若棧空,則表明該「右括弧」多餘

否則和棧頂元素比較,

若相匹配,則「左括弧出棧」

否則表明不匹配。

3.表示式檢驗結束時

若棧空,則表明表示式中匹配正確,

否則表明「左括弧」有餘

string = list(input())

temp =

check = "true"

for i in range(len(string)):

if(string[i]=='(' or string[i]=='[' or string[i]=='{'):

else:

if(len(temp)==0):

check = "false"

break

else:

if(string[i]==')'):

if(temp.pop()!='('):

check = "false"

break

elif(string[i]==']'):

if(temp.pop()!='['):

check = "false"

break

else:

if(temp.pop()!='{'):

check = "false"

break

if(len(temp)!=0):

check = "false"

print(check)

C語言 檢查括號是否匹配

括號不匹配情型 實現 main函式 執行截圖 我們有這樣一組括號序列 根據下面的序號我們可以知道第乙個括號與最後乙個括號進行匹配,第二個與倒數第二個進行匹配其他的以此類推,我們發現括號匹配具有先進後匹配的特性,這一特性剛好和棧的特性相匹配 先進後出 我們利用棧的原理進行儲存 當我們遇到 這一類括號使...

牛客普及組 合法括號序列

鍵盤上有左括號 右括號 和退格鍵 共三個鍵。牛牛希望按鍵n次,使得輸入的字串恰好乙個合法的括號序列。每按一次左括號 字串末尾追加乙個左括號 每按一次右括號 字串末尾追加乙個右括號 每按一次退格鍵 會刪掉字串的最後乙個字元,特別的,如果字串為空,牛牛也可以按退格,但是什麼都不會發生。合法括號序列的定義...

牛客 程式設計題 合法括號序列判斷 C

對於乙個字串,請設計乙個演算法,判斷其是否為乙個合法的括號串。給定乙個字串a和它的長度n,請返回乙個bool值代表它是否為乙個合法的括號串。測試樣例 6 返回 true 測試樣例 a 7 返回 false 測試樣例 7 返回 false 建棧,遍歷字串a,遇到左括號入棧,右括號分情況 如果棧空的話,...