您的位置:首页 > 其它

leetcode -- Insertion Sort List -- 重点,需要优化

2015-12-09 19:21 513 查看
https://leetcode.com/problems/insertion-sort-list/

思路1

参考/article/4982509.html

思路2

参考 /article/1378321.html

需要想清楚再写code。终止条件是什么,有哪些变量循环。。。注意加上dummy_node

自己写的code 效率低,可以AC. 复习的时候注意要看看如何优化

class Solution(object):
def insertionSortList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if not head:
return head

dummy_node = ListNode(0)
dummy_node.next = head

cur, e = head.next, head #s 是每一次的搜索开始节点,p是previous s. e 是cur的前面那个node
p = dummy_node
while cur:
s, p = dummy_node.next, dummy_node

while s != cur and s.val <= cur.val:
p,s = s, s.next
if s == cur:
e, cur = cur, cur.next
else:
e.next, tmp = cur.next, cur.next
p.next, cur.next = cur, s
cur = tmp
return dummy_node.next
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: