/*本题直接采用栈模拟的方式。*/
class Solution {
public:
bool isValid(string s) {
if(s.empty()) return true;
string res("");
for(int i = 0; i < s.size(); ++i){
if(s[i] == '(' || s[i] == '[' || s[i] == '{'){//入栈
res += s[i];
}
else{
if(res.empty()) return false;//没有可以匹配的括号
if(s[i] == ')' && res[res.size()-1] == '(') res.pop_back();//出栈
else if(s[i] == ']' && res[res.size()-1] == '[') res.pop_back();//出栈
else if(s[i] == '}' && res[res.size()-1] == '{') res.pop_back();//出栈
else return false;//括号不匹配
}
}
if(res.empty()) return true;
else return false;
}
};
LeetCode之Valid Parentheses
最新推荐文章于 2018-09-30 16:36:09 发布