括号序列

括号序列

https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2?tpId=196&tags=&title=&diffculty=0&judgeStatus=0&rp=1

 public boolean isValid (String s) {
        // write code here
        if(s==null) return true;
        char[] c=s.toCharArray();
        Stack<Character> stack=new Stack();
        Map<Character,Character> map=new HashMap<>();
        map.put(')','(');
        map.put('}','{');
        map.put(']','[');
        for(char cc:c){
            if(cc=='(' || cc=='{' || cc=='['){
                stack.push(cc);
            //主要就是注意在栈空的时候 也是不合法的;并且在执行栈方法的时候也需要去判断栈是否为空
            }else if(stack.isEmpty()||stack.pop()!=map.get(cc)){
                 return false;
            }
        }
        //最后栈里面可能还有括号序列此时也是不合法的
        return stack.isEmpty()?true:false;
    }
全部评论

相关推荐

09-22 09:42
门头沟学院 Java
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务