1353:表达式括号匹配(stack)


表达式括号匹配

注意考虑出现多余右括号的情况!

 1 #include<iostream>
 2 #include<cstring>
 3 #include<stack>
 4 using namespace std;
 5 
 6 stack<char> sta;
 7 
 8 bool match(){
 9     char c;
10     while(cin>>c){
11         if(c=='@')break;
12         if(c=='(')sta.push(c);
13         if(c==')'){
14             if(!sta.empty())sta.pop();
15             else return 0;
16         }
17     }
18     if(sta.empty())return 1;
19     else return 0;
20 }
21 int main(){
22     if(match())cout<<"YES";
23     else cout<<"NO";
24     return 0;
25 }

 

posted @ 2021-08-25 11:28  Rekord  阅读(440)  评论(0编辑  收藏  举报