Given the head of a linked list, return the list after sorting it in ascending order.
Follow up
Can you sort the linked list in O(n logn) time and O(1) memory (i.e. constant space)?
Example
No.1
Input: head = [4,2,1,3]
Output: [1,2,3,4]
No.2
Input: head = [-1,5,3,4,0]
Output: [-1,0,3,4,5]
No.3
Input: head = []
Output: []
Constraints
- The number of nodes in the list is in the range [0, 5 * 10^4].
- -10^5 <= Node.val <= 10^5
Code
1 | public class ListNode { |
1 | public ListNode sortList(ListNode head) { |