排序链表

148. 排序链表 (Medium)

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表

进阶:

  • 你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?

 

示例 1:

输入:head = [4,2,1,3]
输出:[1,2,3,4]

示例 2:

输入:head = [-1,5,3,4,0]
输出:[-1,0,3,4,5]

示例 3:

输入:head = []
输出:[]

 

提示:

  • 链表中节点的数目在范围 [0, 5 * 104] 内
  • -105 <= Node.val <= 105

相关话题

[链表] [双指针] [分治] [排序] [归并排序]

相似题目

  1. 合并两个有序链表 (Easy)
  2. 颜色分类 (Medium)
  3. 对链表进行插入排序 (Medium)

解法