码迷,mamicode.com
首页 > 其他好文 > 详细

Merge Two Sorted Lists

时间:2016-04-24 12:31:34      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

这题与Add Two Numbers相似,注意的是存在长度不等,以及考虑使用dummy node作为结果的头元素,时间复杂度O(n+m),n为两条链表分别的长度。空间复杂度O(1).代码如下:

class Solution(object):
    def mergeTwoLists(self, l1, l2):
        """
        :type l1: ListNode
        :type l2: ListNode
        :rtype: ListNode
        """
        if not l1 and not l2:
            return None
        dummy = ListNode(-1)
        cur = dummy
        while l1 and l2:
            if l1.val <  l2.val:
                cur.next = ListNode(l1.val)
                l1 = l1.next
            else:
                cur.next = ListNode(l2.val)
                l2 = l2.next
            cur = cur.next
        cur.next = l1 if l1 else l2
        return dummy.next

 

Merge Two Sorted Lists

标签:

原文地址:http://www.cnblogs.com/sherylwang/p/5426622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!