首页 > 代码库 > Valid Parentheses

Valid Parentheses

方法:直接使用栈的数据结构对相关字符处理即可

class Solution {
public:
    bool isValid(string s) {
        stack<char> st;
    
        for(int i=0; i<s.size(); ++i)
        {
            if(s[i] == ( || s[i] == { || s[i] == [)
                st.push(s[i]);
            else
            {
                if(st.empty())
                    return false;
                if(s[i] == ) && st.top() != ()
                    return false;
                if(s[i] == } && st.top() != {)
                    return false;
                if(s[i] == ] && st.top() != [)
                    return false;
 
                st.pop();
            }
        }
        
        return st.empty();
    }
};

 

Valid Parentheses