You are given the head
of a linked list.
Remove every node which has a node with a greater value anywhere to the right side of it.
Return the head
of the modified linked list.
Input: head = [5,2,13,3,8]
Output: [13,8]
Explanation: The nodes that should be removed are 5, 2 and 3.
Input: head = [1,1,1,1]
Output: [1,1,1,1]
Explanation: Every node has value 1, so no nodes are removed.
[1, 105]
.1 <= Node.val <= 105
題目要求是他要將現在節點以左的所有小於現在節點的節點刪除,轉念一想,將鍊結串列做倒序再去做遍歷,並希望維持 ascending 的性質,在 return 時再一次倒序回來便是答案。最多需要 3N 的複雜度。