# 力扣148. 排序链表


## 力扣148. Sort List（排序链表）

给你链表的头结点 head，请将其按升序排列并返回排序后的链表。你可以在 O(n log n) 时间复杂度和常数级空间复杂度下对链表进行排序吗？

示例 1：

![](../posts/01_学习/87_LeetCode/0148_排序链表/img/0148-1-description.png)

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

示例 2：

![](../posts/01_学习/87_LeetCode/0148_排序链表/img/0148-2-description.png)

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

示例 3：

```
输入：head = []
输出：[]
```

提示：
- 链表中节点数目在范围 [0, 5*10^4] 内
- -10^5 <= Node.val <= 10^5

进阶：你能在 O(n log n) 时间复杂度和常数级空间复杂度下完成吗？

