imooc数据结构探险-栈篇 栈应用括号匹配二 由群友启发改良james_yuan老师算法

Posted romanten

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了imooc数据结构探险-栈篇 栈应用括号匹配二 由群友启发改良james_yuan老师算法相关的知识,希望对你有一定的参考价值。

如图所示

 

引用群友内容

//老师代码有点麻烦了,不用声明两个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老师算法的主要内容,如果未能解决你的问题,请参考以下文章

用栈检测括号匹配

Java 栈 如何实现括号匹配

栈的应用(括号匹配算法实战)

用自定义链式栈解决力扣括号匹配问题

用自定义链式栈解决力扣括号匹配问题

数据结构 栈的实例应用,括号匹配