这个题目写了插入排序的方法,过了25/28个测试用例,还是超时了。所以后来用了python自带的sorted函数,最终完成题目。python 代码如下:
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution(object): def sortList(self, head): """ :type head: ListNode :rtype: ListNode """ #插入排序 new_list = ListNode(float("-inf")) while(head!=None): tmp = head.next tmp_new_list = new_list while(tmp_new_list.next != None and tmp_new_list.next.val < head.val): tmp_new_list = tmp_new_list.next head.next = tmp_new_list.next tmp_new_list.next = head head = tmp return new_list.next
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, val=0, next=None):# self.val = val# self.next = nextclass Solution(object): def sortList(self, head): """ :type head: ListNode :rtype: ListNode """ #python自带sorted函数 head1 = head tmp = [] while(head1!=None): tmp.append(head1.val) head1 = head1.next tmp = sorted(tmp) new_list = ListNode(float("-inf")) head2 = new_list for i in range(len(tmp)): head2.next = ListNode(tmp[i]) head2 = head2.next return new_list.next
(python 内嵌的函数速度贼快:)