话不多说,直接贴代码。
具体的思路是匹配到[({就入栈,遇到]){判断是否栈为空空就不匹配非空出栈看是否匹配。
运行结果如下
但是运行多了几次以后会出bug,重新打开运行又好了,发现原因是每次用了栈以后没有清空,在循环结束前添加一个清空stack容器的操作就ok了。
#includeusing namespace std; int main(){ stack v; string ch; while(cin>>ch){ int a=1; for(int i=0;i

话不多说,直接贴代码。
具体的思路是匹配到[({就入栈,遇到]){判断是否栈为空空就不匹配非空出栈看是否匹配。
运行结果如下
但是运行多了几次以后会出bug,重新打开运行又好了,发现原因是每次用了栈以后没有清空,在循环结束前添加一个清空stack容器的操作就ok了。
#includeusing namespace std; int main(){ stack v; string ch; while(cin>>ch){ int a=1; for(int i=0;i