栈的使用
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;}
}
这里空空如也



有帮助,赞一个