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

如圖所示blog

 

引用羣友內容循環

//老師代碼有點麻煩了,不用聲明兩個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便好
*/
相關文章
相關標籤/搜索