/148. Sort List

148. Sort List

Medium
Linked Lists64% acceptance

Given the head node of a singly linked list, return the head node of the linked list after sorting its node values in ascending order.

Example 1

Input: ListNode(7, ListNode(3, ListNode(5, ListNode(2))))

Output: ListNode(2, ListNode(3, ListNode(5, ListNode(7))))

Explanation: Input list is [7,3,5,2]. Sorted list is [2,3,5,7].

Example 2

Input: ListNode(-10, ListNode(0, ListNode(10)))

Output: ListNode(-10, ListNode(0, ListNode(10)))

Explanation: Input list is already sorted.

Example 3

Input: ListNode(8)

Output: ListNode(8)

Explanation: Single node list remains unchanged.

Constraints

  • 0 <= number of nodes <= 50000
  • -100000 <= node value <= 100000
Python (current runtime)

Case 1

Input: ListNode(6, ListNode(1, ListNode(9, ListNode(4))))

Expected: ListNode(1, ListNode(4, ListNode(6, ListNode(9))))

Case 2

Input: ListNode(0, ListNode(-2, ListNode(2, ListNode(-2))))

Expected: ListNode(-2, ListNode(-2, ListNode(0, ListNode(2))))

Case 3

Input: None

Expected: None