文章
43
粉丝
24
获赞
293
访问
6.6k
#include<bits/stdc++.h>
using namespace std;
//设置括弧的优先级
map<char,int> bkPriority = {
{'<', 0}, {'(', 1}, {'[', 2}, {'{', 3}
};
//设置括弧的匹配
map<char,char> bkMatch = {
{'>', '<'}, {')', '('}, {']', '['}, {'}', '{'}
};
bool match(string s){
int slen = s.size();
stack<char> stk;
for(int i = 0;i < slen; i++){
if(s[i] == '<' || s[i] == '(' || s[i] == '[' || s[i] == '{'){ //左括号压栈
if(!stk.empty() && bkPriority[s[i]] > bkPriority[stk.top()])//栈不空说明该括号包含在其他括号之内,此时判断括号的优先级顺序正确
return false; &nbs...
登录后发布评论
暂无评论,来抢沙发