#include <iostream>
#include <string>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    bool isValid(string s) {
        // write code here
        if (s.empty()) {
            return true;
        }
        else {
            string a;
            for (int i=0; i<s.size(); i++) {
                switch (s[i]) {
                    case '(':
                        a.push_back('(');
                        break;
                    case '[':
                        a.push_back('[');
                        break;
                    case ')':
                        if (a[a.size()-1]=='(') {
                            a.pop_back();
                        }
                        else {
                            a.push_back(')');
                        }
                        break;
                    case ']':
                        if (a[a.size()-1]=='[') {
                            a.pop_back();
                        }
                        else {
                            a.push_back(']');
                        }
                        break;
                }
            }
            if (a.empty()) {
                return true;
            }
            else {
                return false;
            }
        }
    }
};