题目概述
Sort a linked list in O(n log n) time using constant space complexity.
Example 1:
1 | Input: 4->2->1->3 |
Example 2:
1 | Input: -1->5->3->4->0 |
这是一道挺好的题目,第一眼给人的感觉非常简单,就是实现一个快速排序。但是实际上,链表的快速排序和数组的快速排序差别还是很大的。其中最重要的地方就是要在实现递归的快速排序的同时,保证链表的完整性,即所有Nodes需要传成一条链,并且保证你能访问到这条链的头节点。这就需要实现快速排序的方法能够将头节点进行传出。
代码实现
1 | class Solution { |