JAVA solutions
\nclass Solution {\n    public ListNode insertionSortList(ListNode head) {\n        ListNode dummy = new ListNode(0, head);\n        \n        ListNode prev = h
```\nclass Solution {\n    public ListNode insertionSortList(ListNode head) {\n        ListNode dummy = new ListNode(0, head);\n        \n        ListNode prev = head;\n        ListNode curr = head.next;\n        \n        while (curr != null) {\n            if (curr.val >= prev.val) {\n                prev = curr;\n                curr = curr.next;\n                continue;\n            }\n            \n            ListNode tmp = dummy;\n            while (curr.val > tmp.next.val) {\n                tmp = tmp.next;\n            }\n            \n            prev.next = curr.next;\n            curr.next = tmp.next;\n            tmp.next = curr;\n            curr = prev.next;\n        }\n        return dummy.next;\n    }\n}\n```
['Java', 'JavaScript']