Concise python solution with comments
def insertionSortList(self, head):\n        cur = dummy = ListNode(0)\n        while head:\n            if cur and cur.val > head.val: # reset pointer only when
    def insertionSortList(self, head):\n        cur = dummy = ListNode(0)\n        while head:\n            if cur and cur.val > head.val: # reset pointer only when new number is smaller than pointer value\n                cur = dummy\n            while cur.next and cur.next.val < head.val: # classic insertion sort to find position\n                cur = cur.next\n            cur.next, cur.next.next, head = head, cur.next, head.next # insert\n        return dummy.next
['Python']