class Solution {
public:
bool isValid(string s) {
//无序的map
unordered_map<char,int> m{{'(',1},{'[',2},{'{',3},
{')',4},{']',5},{'}',6}};
stack<char> st;
bool istrue=true;
//遍历字符串
for(char c:s){
//标志
int flag=m[c];
//判断是左括号
if(flag>=1&&flag<=3) st.push(c);
//判断是对应的右括号,弹出左括号
else if(!st.empty()&&m[st.top()]==flag-3) st.pop();
//不是对应的右括号
else {istrue=false;break;}
}
//栈中还有左括号未弹出
if(!st.empty()) istrue=false;
return istrue;
}
};
}
Leetcode20:有效的括号
最新推荐文章于 2025-12-19 16:34:09 发布
本文详细介绍了一种使用C++实现的算法,用于检查给定字符串中的括号是否有效配对。通过栈数据结构和一个映射关系,博主展示了如何判断左括号与右括号之间的对应关系,确保代码正确性和高效性。
1505

被折叠的 条评论
为什么被折叠?



