1019. 括号匹配
Description
给定一串由左小括号,即“(”,和右小括号“)”组成的串,判断其是否匹配。
判断其合法的标准为即为数学等式中括号匹配的标准。
Input Format
第1行:N, 0<N
;
第2至N + 1行,一个括号串,保证串的长度不超过100。
Output Format
共N行,若第i个串匹配,为“YES”,否则为“NO”。
Sample Input
3
(())
(()
)(
Sample Output
YES NO NO
#include<stack> #include<iostream> #include<cstring> using namespace std; int main(){ stack<char> a; string s; int n; cin>>n; while(n-->0){ cin>>s; bool flag=true; for(int i=0;i<s.length();i++){ if(s[i]=='(') a.push(s[i]); if(s[i]==')') { if(a.empty()){ flag=false; } else{ a.pop(); } } } if(!a.empty()) flag=false; if(flag){ cout<<"YES"<<endl; }else{ cout<<"NO"<<endl; } while(!a.empty()){ a.pop(); } } return 0; }