2238: 括号匹配(栈和队列)
Time Limit: 1 Sec Memory Limit: 128 MB Submit: 2 Solved: 2 [][][]Description
假设一个算术表达式中可以包含三种括号:圆括号“(”和“)”,方括号“[”和“]”和花括号“{ ”和“ ”,且这三种括号可按任意的次序嵌套使用(如:…[…{ … …[…]…]…[…]…(…)…)。编写判别给定表达式中所含括号是否正确配对出现的算法。输出结果YES 或者 NO。
Input
5+{[2X5]+2}
Output
YES
Sample Input
8-[{2+7]}
Sample Output
NO
HINT
Source
Code:
1 /* 2 所用操作函数: 3 empty() 堆栈为空则返回真 4 pop() 移除栈顶元素 5 push() 在栈顶增加元素 6 top() 返回栈顶元素 7 */ 8 #include9 #include 10 #include 11 using namespace std;12 int main()13 {14 string l;15 while(cin>>l){16 stack s; //放到循环外定义就错了,每次循环都要初始化17 bool f=true;18 for(int i=0;i
Freecode :