演算法的基本思想
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,遇到左括號入棧,右括號分情況 如果棧空的話,...