后面三个else if要先合并,把pop值保存到变量里,再判断它是不是其中一个括号否则判断到]的时候,走进第一个else if里面,直接把[给pop掉了,后面就空了呀
优先级的问题,需要加上括号if (stack.isempty() || (c == ')' && stack.pop() != '(')) ...
赞同於黾的意见,只能调用一次 pop 得到字符