class Solution {
public:
    /**
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    bool isValid(string s) {
        // write code here
        // 使用栈 在笔试时遇到过此题的拓展, 括号消除

        int n = s.size();
        if(n<=1)
            return false;
        
        stack<char> stk;
        bool ans = false;
        for(char c:s)
        {
            if(c=='(' || c=='{' || c=='[')
            {
                stk.push(c);
                
            }
            else
            {
                if(!stk.empty())
                {
                    char a = stk.top();
                    if((a=='(' && c==')') || (a=='{' && c=='}') || (a=='[' && c==']'))
                    {
                        stk.pop();
                        // ans = true;
                        
                    }
                    else
                    {
                        return false;
                    }

                }
                else
                {
                    return false;
                }
                


            }
            
        }

        ans = stk.empty();
        return ans;
    }
};

其实就是括号消除 只是 多了多类括号