[leetcode] 21. 合并两个有序的链表

难度:Easy.

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4

代码:

def mergeTwoLists(l1, l2):
    dummy = ListNode(0)
    p = dummy
    
    if l1 == None:
        return l2
    if l2 == None:
        return l1 
    
    while l1 and l2:
        if l1.val > l2.val:
            p.next = l2
            l2 = l2.next
        else:
            p.next = l1
            l1 = l1.next
        
        p = p.next 
        
    if l1.next:
        p.next = l1
    if l2.next:
        p.next = l2
        
    
    return dummy.next
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输...
    河海中最菜阅读 158评论 0 0
  • LeetCode-链表 链表(Linked List)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺...
    raincoffee阅读 1,268评论 0 6
  • 搞懂单链表常见面试题 Hello 继上次的 搞懂基本排序算法,这个一星期,我总结了,我所学习和思考的单链表基础知识...
    醒着的码者阅读 4,626评论 1 45
  • 我在看一篇心里学文章,配图有点血腥,满屏猩红色的血,她瞄了过来,问我,这是什么啊? 我答,血啊。 她回了句,谁的血...
    我竟然起了这个昵称阅读 164评论 0 0
  • 2017的一切被洁白的雪花清扫着,意味着2018新的开始已经到来了…… 继续自强不息的生活着……
    只愿做自己阅读 154评论 0 1