题意:括号匹配。
思路:堆栈。
class Solution {
public:
bool isValid(string s) {
stack <char> mys;
mys.push(s[0]);
for(unsigned i = 1; i < s.length(); ++ i) {
if(!mys.empty()) {
char temp = mys.top();
if(temp == '(' && s[i] == ')') {
mys.pop();
continue;
}
if(temp == '[' && s[i] == ']') {
mys.pop();
continue;
}
if(temp == '{' && s[i] == '}') {
mys.pop();
continue;
}
}
if(s[i] == '(' || s[i] == '{' || s[i] == '[') {
mys.push(s[i]);
continue;
}
else return false;
}
if(mys.empty()) return true;
else return false;
}
};

本文介绍了一种使用堆栈实现括号匹配的有效方法。通过具体的C++代码示例,展示了如何判断一组包含圆括号、方括号及花括号的字符串是否正确配对。此算法适用于多种编程场景,如编译器设计、代码解析等。
911

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



