LeetCode 20. Valid Parentheses
Solution1:我的答案
“凑对即销毁,判断是否空”
class Solution {
public:
bool isValid(string s) {
if (s.size() <= 1) return s.empty() ? true : false;
stack<char> my_str;
for (int i = 0; i < s.size(); i++) {
if (my_str.empty()) my_str.push(s[i]);
else if (my_str.top() == '(' && s[i] == ')'
|| my_str.top() == ')' && s[i] == '('
|| my_str.top() == '[' && s[i] == ']'
|| my_str.top() == ']' && s[i] == '['
|| my_str.top() == '{' && s[i] == '}'
|| my_str.top() == '}' && s[i] == '{')
my_str.pop();
else my_str.push(s[i]);
}
return my_str.empty();
}
};
本文介绍了一种使用栈来验证括号序列有效性的方法。通过遍历输入字符串,遇到开括号则压栈,遇到闭括号时检查栈顶元素是否匹配。若全部匹配且栈为空,则该括号序列有效。
266

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



