第一次做这个
学习题解用的优先队列(小根堆)很巧妙
class Solution {
public ListNode sortList(ListNode head) {
if(head == null) return null;
PriorityQueue pq = new PriorityQueue<>();
ListNode a = head;
while(a != null){
pq.offer(a.val);
a = a.next;
}
ListNode b = new ListNode(0);
ListNode ans = b;
while(pq.size() > 0){
b.val = pq.poll();
if(pq.size() > 0){
ListNode tmp = new ListNode(0);
b.next = tmp;
}
b = b.next;
}
return ans;
}
}
暑期编程PK赛
得CSDN机械键盘等精美礼品!


