zoukankan      html  css  js  c++  java
  • 20. 有效的括号

    利用哈希表的键值对属性和堆的先进后出属性,

    先将括号建立键值对,然后迭代时遇到键值对内元素

    则弹出,否则继续压入堆内。迭代完毕后,若堆内不为空则无效,反之则有效。

    时间O(n),空间O(n)(本题的map内键值对是固定的3组,所以空间是固定的,可以忽略不计)

    public boolean isValid(String s) {
            HashMap<Character,Character> map = new HashMap<Character,Character>();
            map.put('}','{');
            map.put(']','[');
            map.put(')','(');
            Deque<Character> stack = new LinkedList<Character>();
            for (int i=0;i<s.length();i++){
                if (map.containsKey(s.charAt(i)) && map.get(s.charAt(i)).equals(stack.peek())){
                    stack.pop();
                }else {
                    stack.push(s.charAt(i));
                }
            }
            return stack.isEmpty();
        }
    争取早日不再是一只菜鸡
  • 相关阅读:
    2018-8-10-win10-uwp-重启软件
    jquery动画滑入滑出
    jquery类操作
    jquery类操作
    jquery手风琴
    jquery突出显示
    jquery隔行变色
    jquery下拉菜单
    jquery筛选选择器
    jquery过滤选择器
  • 原文地址:https://www.cnblogs.com/jchen104/p/14591335.html
Copyright © 2011-2022 走看看