20. Valid Parentheses

来源:互联网 发布:问答cms 编辑:程序博客网 时间:2024/06/04 00:25
class Solution {public:    bool match(char c1, char c2)    {        if(c1 == '(')            return c2 == c1 + 1;        else            return c2 == c1 + 2;    }        bool isValid(string s)     {        stack<char> sta;        int l = s.size();                    if(l % 2 == 1)            return false;                if(s.at(0) == ')' || s.at(0) == ']' || s.at(0) == '}')            return false;        else            sta.push(s.at(0));                for(int i = 1; i < l; i++)        {            if(s.at(i) == '(' || s.at(i) == '[' || s.at(i) == '{')                sta.push(s.at(i));            else            {                if(match(sta.top(), s.at(i)))                    sta.pop();                else                    return false;            }        }        return sta.empty();    }};

原创粉丝点击