class Solution {
public:
    /**
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    bool isValid(string s) {
        // write code here
        stack<char> stack;
        for(auto cur:s){
            if(stack.empty()){
                stack.push(cur);
            }else{
                if(cur == '(' || cur == '[' || cur == '{')
                    stack.push(cur);
                else{
                    if((cur==')' && stack.top() == '(') || (cur==']' && stack.top() == '[') || (cur=='}' && stack.top() == '{'))
                        stack.pop();
                    else
                        return false;
                }
            }
        }
        if(!stack.empty())return false;
        else return true;
    }
};