题目连接:Leetcode 020 Valid Parentheses
解题思路:左括号入栈,右括号出栈。出栈括号不匹配或栈为空,则return false;若结束后栈不为空,return false。
class Solution {
public:
bool isValid(string s) {
stack<char> g;
for (int i = 0; i < s.size(); i++) {
if (s[i] == '(' || s[i] == '[' || s[i] == '{') {
g.push(s[i]);
} else if (g.empty()) {
return false;
} else {
char t = g.top(); g.pop();
if (t == '(' && s[i] == ')') continue;
if (t == '[' && s[i] == ']') continue;
if (t == '{' && s[i] == '}') continue;
return false;
}
}
return g.empty();
}
};