借助堆栈来求解

public:
    /**
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    bool isValid(string s) {
        // write code here
        stack<char> st;
        for(int i=0;i<s.size();i++){
            if(s[i]=='('||s[i]=='['||s[i]=='{') st.push(s[i]);
            else if(s[i]==')'||s[i]==']'||s[i]=='}'){
                if(!st.empty()&&(st.top()==s[i]-1||st.top()==s[i]-2)) st.pop();
                else return false;
            } 
        }
        return st.empty();
    }
};