获得徽章 0
- 牛客网的单链表的排序算法题,有没有人想过用优先队列解决。为什么会OOM啊,没想明白
public ListNode sortInList (ListNode head) {
if(head==null||head.next==null){
return head;
}
Queue<ListNode> pq = new PriorityQueue<>((v1,v2)->(v1.val-v2.val));
ListNode dummy = new ListNode(-1);
ListNode pre = dummy;
while(head!=null){
pq.offer(head);
head = head.next;
}
while(!pq.isEmpty()){
pre.next = pq.poll();
pre = pre.next;
}
return dummy.next;
}展开评论点赞