ruijiege

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
public static boolean isValid(String s){
        Map<Character, Character> map = new HashMap<>();
        map.put('(',')');
        map.put('{','}');
        map.put('[',']');
        Stack stack = new Stack();
        for (char c : s.toCharArray()) {
            if (map.containsKey(c)){
                stack.push(c);
            }else {
                //如果不为null,且值相等则出栈
                if (!stack.isEmpty()&&map.get(stack.peek()).equals(c)){
                    stack.pop();
                }else {
                    return false;
                }
            }
        }
        //如果返回true的话,可能存在栈里面还有值的情况
        return stack.isEmpty();
    }

 

posted on 2021-08-03 07:41  哦哟这个怎么搞  阅读(26)  评论(0编辑  收藏  举报