# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def insertionSortList(self, head: ListNode) -> ListNode:
dummy = ListNode(0)
pre = dummy
cur = head
while cur:
while pre.next and pre.next.val<cur.val:
pre = pre.next
nex = cur.next
cur.next = pre.next
pre.next = cur
pre = dummy
cur = nex
return dummy.next