class Solution {
public:
bool isValid(string s) {
// 有效一定是偶数大小
// 这里不是边界,只是快速判断的条件
// 可选添加
if (s.size() % 2) {
return false;
}
std::stack<char> stack_;
for (int i = 0; i < s.size(); ++i) {
char tmp = stack_.top();
if (!stack_.empty() &&
((tmp == '(' && s[i] == ')') ||
(tmp == '[' && s[i] == ']') ||
(tmp == '{' && s[i] == '}'))) {
stack_.pop();
continue;
}
stack_.push(s[i]);
}
if (!stack_.empty()) {
return false;
}
return true;
}
};