1. 程式人生 > >imooc數據結構探險-棧篇 棧應用括號匹配二 由群友啟發改良james_yuan老師算法

imooc數據結構探險-棧篇 棧應用括號匹配二 由群友啟發改良james_yuan老師算法

false blog default img pstack 一個 alt 是否 logs

如圖所示

技術分享

技術分享

引用群友內容

//老師代碼有點麻煩了,不用聲明兩個mystack的,直接判斷是否是左括號,

//是的話就在mystack中push另一半括號;如果是右括號且又不是需要的括號,
//就直接打印不匹配,如果是需要的右括號,就pop掉左括號。最後看mystack中棧頂是否為0,為0則打印括號匹配
/*
老師最後一點其實錯了,default 其實沒有必要寫,只要把pNeedStack->pop(currentNeed)改為
if(!pNeedStack->pop(currentNeed))

{

currentNeed=0;

}
便夠了,第一次輸入“【()】】“顯示錯誤是因為,循環到倒數第二個字符時,
pNeedStack棧為空導致pNeedStack->pop(currentNeed)返回了一個false,currentNeed沒有置於0,仍為”】“,
導致循環到最後一個字符時str[4]==currentNeed,str[4]沒有入棧,pStack最後為空才會出錯.把crrentNeed置於0便好
*/

imooc數據結構探險-棧篇 棧應用括號匹配二 由群友啟發改良james_yuan老師算法