括号匹配问题,() 这个例子,为什么运行代码后是false

img


() 这个例子,为什么运行代码后是false,求指点,
() 这个例子,为什么运行代码后是false,求指点,
() 这个例子,为什么运行代码后是false,求指点

后面三个else if要先合并,把pop值保存到变量里,再判断它是不是其中一个括号
否则判断到]的时候,走进第一个else if里面,直接把[给pop掉了,后面就空了呀

优先级的问题,需要加上括号
if (stack.isempty() || (c == ')' && stack.pop() != '(')) ...


赞同於黾的意见,只能调用一次 pop 得到字符