左右括弧マッチ問題


問題:1つの文字列は‘('、'、'、'、'、')''、''''を含みます.括弧が合っているかどうか聞いてください.trueに戻ります.falseに戻れません.分析:状況①左括弧多false;②右括弧多false;③左右の括弧がfalse④の左右の括弧にマッチしないtrue
コード:
    //        
    //    
    public static boolean isValid(String s) {
        Stack<Character> stack=new Stack<>();
        for(int i=0;i<s.length();i++){
            char ch=s.charAt(i);
            if(ch=='('||ch=='['||ch=='{'){//        
                stack.push(ch);
            }else{
                if(stack.isEmpty()){//          ,      
                    return false;
                }else{
                    int ch1=stack.peek();
                    if(ch1=='('&&ch==')'||ch1=='['&&ch==']'||ch1=='{'&&ch=='}'){
                        stack.pop();
                    }else{  //          
                        return false;
                    }
                }
            }
        }
        if(!stack.isEmpty()){//        
            return false;
        }
        return true;
    }