栈的使用
2023-08-27 11:23:07
发布于:北京
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
stack<char> s;
int main() {
string str1;
cin >> str1;
int len = str1.length(); //计算长度
for(int i=0; i<len; i++) { //遍历表达式
//遇到左括号入栈,遇到右括号匹配
if(str1[i] == '(') s.push(str1[i]);
else if (str1[i] == ')') {
//匹配 如果栈 不为空匹配 否则失败
if(!s.empty()) s.pop(); //匹配成功 删除栈顶元素
else {cout << "NO"; return 0;} //匹配失败 输出结果 结束程序
}
}
if(s.empty()) {cout << "YES"; return 0;}
else {cout << "NO"; return 0;}
}
这里空空如也
有帮助,赞一个