LeetCode热题 HOT100
148. 排序链表
题目:给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。
**示例 1: {
// 如果传入的头节点为空,直接返回null
if (head == null) {
return null;
}
// 创建一个PriorityQueue对象,用于存储链表中的节点,并按照节点的值进行排序
PriorityQueue<ListNode> queue = new PriorityQueue<>((o1, o2) -> o1.val - o2.val);
// 将链表中的所有节点依次添加到PriorityQueue中
while (head != null) {
queue.add(head);
head = head.next;
}
// 从PriorityQueue中取出第一个节点作为新链表的头结点,并将其赋值给一个新的指针变量newHead
ListNode newHead = queue.poll();
// 创建一个指针变量cur,用于记录新链表的末尾节点
ListNode cur = newHead;
// 从PriorityQueue中依次取出节点,并将其添加到新链表的末尾
while