在编程当中我们只会用到三种括号:圆括号(),方括号[]和花括号{},编译器在编译的时候会检查括号是否正确匹配。例如{[()]}、{()[]{}}都是合法的匹配。但是([)]则是不合法的匹配。请编写一个程序来判断输入的括号序列是否合法。
输入
测试数据由多组,每组数据有一行,为( ) [ ] { }组成的序列,长度不超过1000
输出
对于每组数据输出一行,如果是合法匹配则输出YES,不合法则输出NO,请注意大小写
样例输入
样例输出
本题也是解法众多,但是万变不离其中,无论如何我们要用到的都是栈的相关知识,在你不懂如何使用栈,修改栈中元素时,不管C语言还是C++都可以直接使用数组在作为基底,对出栈和进栈等等操作(push(),pop(),empty()…)分别写一个函数,在主函数中调用使用即可,此处我们直接使用栈来实现,来复习练习栈的使用。
1.本题首先要知道哪些条件才可以判断合法的匹配
2.然后理好思绪每一步要实现的内容
3.正确使用栈
4.操作过程中倘若有误,一定要多测试,实践出真知,有时可以用cerr代替cout来输出表示测试的数据。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/10716.html