#include <iterator>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    bool isValid(string s) {
        bool a=true;
        stack<char>stk;
        for(int i=0;i<s.size();i++){
            if(s.size()==1){ a=false ;break;}
            // if(s[i]!='('&&s[i]!='{'&&s[i]!='[') continue;
            if(s[i]=='('||s[i]=='{'||s[i]=='[') stk.push(s[i]);
            else {
                if(stk.empty()) a=false ;
                else {
                    char c=stk.top();
            stk.pop();
    if(s[i]=='}'&&c!='{'||s[i]==']'&&c!='['||s[i]==')'&&c!='('){
a=false ;
                }
            }  
    }
        }
        if(!stk.empty())  a=false ;
        return a;
    }
};