0
点赞
收藏
分享

微信扫一扫

20:有效括号

求索大伟 2022-02-05 阅读 82

借助Stack,如果为{【(入栈,如果为}】)出栈,但要判断栈是否为空,以及对应字符匹配

    public boolean isValid(String s) {
        Stack<Character> ss =new Stack<>();
        for(int i=0;i<s.length();i++){
            if('('==s.charAt(i)||'{'==s.charAt(i)||'['==s.charAt(i)){
                ss.push(s.charAt(i));
            }else if(')'==s.charAt(i)){
                if(ss.isEmpty()||ss.pop()!='('){
                    return false;
                }
            }
            else if(']'==s.charAt(i)){
                if(ss.isEmpty()||ss.pop()!='['){
                    return false;
                }
            }
            else if('}'==s.charAt(i)){
                if(ss.isEmpty()||ss.pop()!='{'){
                    return false;
                }
            }
        }
        if(!ss.isEmpty())
            return false;
        return true;
    }
举报

相关推荐

0 条评论