Python Solution Explained (video + code)
\nhttps://www.youtube.com/watch?v=-0w2uswTST8\n\nclass Solution:\n    def insertionSortList(self, head: ListNode) -> ListNode:\n        dummy_head = ListNode()\
[](https://www.youtube.com/watch?v=-0w2uswTST8)\nhttps://www.youtube.com/watch?v=-0w2uswTST8\n```\nclass Solution:\n    def insertionSortList(self, head: ListNode) -> ListNode:\n        dummy_head = ListNode()\n        curr = head\n        \n        while curr:\n            prev_pointer = dummy_head\n            next_pointer = dummy_head.next\n            \n            while next_pointer:\n                if curr.val < next_pointer.val:\n                    break\n                prev_pointer = prev_pointer.next\n                next_pointer = next_pointer.next\n            \n            temp = curr.next\n            \n            curr.next = next_pointer\n            prev_pointer.next = curr\n            \n            curr = temp\n        \n        return dummy_head.next\n```
['Linked List', 'Python', 'Python3']