【问题】
Sort a linked list using insertion sort.
【代码】
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # @param head, a ListNode # @return a ListNode def insertionSortList(self, head): if head == None or head.next == None: return head dummy = ListNode(0) dummy.next = head cur = head while cur.next != None: if cur.next.val < cur.val: pre = dummy while pre.next.val < cur.next.val: pre = pre.next temp = cur.next cur.next = temp.next temp.next = pre.next pre.next = temp else: cur = cur.next return dummy.next