使用java做算法题时,与Queue相关的常用操作:
创建 | Queue |
创建 | Queue |
添加 | queue.offer(root); |
添加到末尾 | queue.addLast(root); |
是否为空? | queue.isEmpty(); |
弹出 | queue.poll(); |
弹出末尾 | queue.removeLast(); |
一维从大到小优先队列 | PriorityQueue |
优先队列:PriorityQueue<ListNode> q = new PriorityQueue<>((x,y) -> (x.val - y.val)); // 升序序列 //小顶 //当是Long型元素时候:定义一个小顶堆 PriorityQueue<Long> pq = new PriorityQueue<>((x,y)->{ if(x>y) return 1; if(x.equals(y)) return 0; else return -1; });