关闭

LeetCode之Valid Parentheses

标签: Leetcode
173人阅读 评论(0) 收藏 举报
分类:
/*本题直接采用栈模拟的方式。*/
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;
    }
};



   
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:43417次
    • 积分:1741
    • 等级:
    • 排名:千里之外
    • 原创:125篇
    • 转载:68篇
    • 译文:1篇
    • 评论:0条