《笔记24:到栈了》
2026-10-06 15:19:26
发布于:广东
括号匹配
B2165 括号匹配——点击跳转
一,我们要明白
-
每一个前括号都能匹配后括号
-
每一个前括号必须有个后括号
-
每一个括号不能多出
-
括号的顺序不能错
所以我们需要用栈
实例
(())
| 1 | 2 | 3 | 4 |
|---|---|---|---|
| ( | (( | ( | 0 |
| 1 | 2 | 3 | 4 |
|---|---|---|---|
| 第一个(进栈 | 第二个(进栈 | 有)取出一个( | 又有一个)在取出一个( |
听懂已经能做了
WA君温馨提示:
for(char c ; str)
由此得出基础代码
#include<iostream>
#include<string>
#include<stack>
using namespace std;
int main(){
string str;
cin>>str;
stack<char> s;
for(char c : str){
if(c=='(') s.push('(');
else{
if(s.empty()){
cout<<"No";
return 0;
}
s.pop();
}
}
if(s.empty()) cout<<"Yes";
else cout<<"No";
}
全部评论 2
if(r.size()>0){ l.push(r.top()); r.pop(); cout<<r.lop()<<endl; ]else cout<<-1<<end;6天前 来自 广东
0if(l.size()>1){ r.push(l.top()); l.pop(); cout<<l.lop()<<endl; ]else cout<<-1<<end;6天前 来自 广东
0





















有帮助,赞一个