【题目简要】
输入一个字符串,字符串里只包含'('和')',两种字符,判断整个字符串的括号是否匹配,如果匹配则输出“YES”,否则输出“NO”。
【思路】
采用堆栈的思想来做。
#include<bits/stdc++.h>
using namespace std;
char c[100];
int main(){
string s;
cin>>s;
int n=s.size();
int top = 0;
for(int i=0;i<n;i++){
if(s[i] == '('){
top++;
c[top] = '(';
}else{
if(top>=0 && c[top] == '('){
top --;
}else{
cout<<"NO";
return 0;
}
}
}
if(top == 0){
cout<<"YES";
}else{
cout<<"NO";
}
}