20:有效括号

阅读 82

2022-02-05

借助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)

0 0 举报