题解
2025-05-17 07:50:57
发布于:浙江
6阅读
0回复
0点赞
思路:这是一道栈的题目,但可以不用栈。栈的思想是读到左括号就出栈,读到右括号就消掉。所以我们可以字符串输入,然后读到左括号就将其+1,读到右括号就将其减一。为了防止像)))(((
这样,我们还要多加一层判断。在读取过程中,一旦n<0就直接输出NO。
#include <bits/stdc++.h>
using namespace std;
int main(){
string a;
cin >> a;
int n=0;
for(int i=0;i<=a.size()-1;i++){
if(a[i]=='(')n++;
else if(a[i]==')')n--;
if(n<0){
cout << "NO";
return 0;
}
}if(n==0)cout << "YES";
else cout << "NO";
return 0;
}
这里空空如也
有帮助,赞一个