本文主要是介绍6.题目:编号2490 小蓝的括号串1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
- ### 这道题主要考察stack
#include<bits/stdc++.h>
using namespace std;
const int N=105;
stack<char> stk;
char s[N];
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n;cin>>n;cin>>s+1;bool ans=true;for(int i=1;i<=n;++i){//是左括号入栈if(s[i]=='('){stk.push(s[i]);}//右括号else{//stk中有东西且栈首为左括号就出栈if(stk.size()&&stk.top()=='('){stk.pop();}//否则不对else{ans=false;}}}//都消完了栈里还有左括号也不对if(stk.size()){ans=false;}cout<<(ans?"Yes":"No")<<"\n";return 0;
}
整体思路:
- 左括号与右括号完美相消,遇到左括号入栈,遇到右括号出栈
- 遍历后判断栈中还有没有字符
这篇关于6.题目:编号2490 小蓝的括号串1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!