文章

34

粉丝

18

获赞

6

访问

14.4k

头像
南京理工-括号匹配 题解:stack + 顺序入栈(跟普通括号匹配有差别)
P1838 南京理工大学机试题
发布于2024年7月25日 14:30
阅读数 332

#include <bits/stdc++.h>

using namespace std;

int main(){
	string s;
	
	while(cin >> s){
		stack<char> ss;
		for(int i = 0;i < s.size();i ++){
			if(!ss.empty()){
				char ch = ss.top();
				if((ch == '(' && s[i] == ')') || (ch == '{' && s[i] == '}') || (ch == '[' && s[i] == ']') || (ch == '<' && s[i] == '>')){
					ss.pop();
				}else {
					ss.push(s[i]);
				}	
			}else{
				ss.push(s[i]);
			}	
		}
		if(ss.empty()){
			cout << "yes" << endl;
		}else{
			cout << "no" << endl;
		}
	}
	return 0;
} 

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发