1.思路:栈解决法

class Solution {
public:
    /**
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    bool isValid(string s) {
        // write code here
        int n = s.size();
        vector<char> stack = vector<char>();
        for(int i=0;i<n;i++) {
            char c = s.at(i);
            switch( c) {
                case '(':
                    stack.push_back(c);
                    break;
                case '[':
                    stack.push_back(c);
                    break;
                case '{':
                    stack.push_back(c);
                    break;
                case ')':
                    if(stack.empty() || stack.back()!='(') {
                        return false;
                    } else {
                        stack.pop_back();
                        break;
                    }
                case ']':
                    if(stack.empty() || stack.back()!='[') {
                        return false;
                    } else {
                        stack.pop_back();
                        break;
                    }
                case '}':
                    if(stack.empty() || stack.back()!='{') {
                        return false;
                    } else {
                        stack.pop_back();
                        break;
                    }
            }
        }
        return stack.empty();
    }
};