LeetCode021 合并两个有序链表

原创 2018年04月15日 22:36:24

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

示例:

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


想到了用递归的方法做这道题。先比较l1和l2第一个节点的val,如果l1节点的val小,则输出这个节点,并继续比较l1.next和l2,

以此类推。


代码:

# Definition for singly-linked list.
# class ListNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution(object):
    def mergeTwoLists(self, l1, l2):
        """
        :type l1: ListNode
        :type l2: ListNode
        :rtype: ListNode
        """
        
        if not l1:
            return l2
        elif not l2:
            return l1
        else:
            if l1.val<= l2.val:
                l1.next = self.mergeTwoLists(l1.next,l2)
                return l1
            else:
                l2.next = self.mergeTwoLists(l1,l2.next)
                return l2

把两个从大到小的有序链表合并成一个链表,新的链表是一个从小到大的有序链表

实现一个函数,把两个从大到小的有序链表合并成一个链表,新的链表是一个从小到大的有序链表。这道题可以分成两个思路: 1.先把两个链表合并成一个链表,合并后的链表从大到小排序 2.将链表逆置,得到从小...
  • keheinash
  • keheinash
  • 2016-07-16 22:59:16
  • 3546

Java将两个有序链表合并为一个有序链表、将两个有序数组合并成一个有序数组

有序链表合并题目:已知两个链表head1和head2各自有序,请把它们合并成一个链表依然有序。结果链表要包含head1和head2的所有节点,即使节点值相同。 分析:此题目使用链表结构,目的是为了...
  • joson793847469
  • joson793847469
  • 2016-08-21 11:22:18
  • 3150

将两个递增的有序链表合并为一个递增的有序链表

将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间, 不另外占用其它的存储空间。表中不允许有重复的数据。 void MergeList(LinkList &La,...
  • sinat_25926481
  • sinat_25926481
  • 2015-10-11 12:29:40
  • 10175

如何将两个有序链表合并成一个有序链表。

有两个带头节点的有序链表,如何把他们合成一个有序链表?(假设链表带头节点) 我们通过取出其中一条链表的头节点作为合成后的有序链表的头节点(当然,这里也可以自己重新生成一个节点来作为头节点,但是使用原...
  • nitibu
  • nitibu
  • 2015-08-11 17:22:37
  • 2372

算法题:合并两个有序的链表

题目:已知有两个有序的单链表,其头指针分别为head1和head2,实现将这两个链表合并的函数: Node* ListMerge(Node *head1,Node *head2) ...
  • JXH_123
  • JXH_123
  • 2014-08-04 16:50:56
  • 18092

将两个有序链表合并成一个有序链表

问题定义:         写一个函数SortedMerge函数,该函数有两个参数,都是递增的链表,函数的功能就是合并这两个递增的链表为一个递增的链表,SortedMerge的返回值是新的链表。新链...
  • lalor
  • lalor
  • 2012-04-05 21:02:38
  • 50217

leetcode 合并2个有序链表

我还以为不能新创建节点,原来是可以的,那就很简单了,注意判断NULL就好 /** * Definition for singly-linked list. * struct ListNode ...
  • a799581229
  • a799581229
  • 2016-09-03 21:38:02
  • 143

21.合并两个有序链表(Merge Two Sorted Lists)

问题描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1-&amp;gt;2-&amp;gt;4, 1-&amp;gt;3-&amp;gt;4...
  • Regemc
  • Regemc
  • 2018-04-13 18:59:44
  • 21

【leetcode】合并两个有序数组

题目:合并两个有序数组Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted arr...
  • lizhidefengzi
  • lizhidefengzi
  • 2017-04-16 19:55:45
  • 473

leetcode_效率题解_[python/C++]_21. Merge Two Sorted Lists(合并2个有序链表)

相关题解: leetcode_效率题解_23. Merge k Sorted Lists(合并k个有序链表)题目链接 【题目】 Merge two sorted linked lists and...
  • huangmx1995
  • huangmx1995
  • 2016-11-22 21:58:28
  • 732
收藏助手
不良信息举报
您举报文章:LeetCode021 合并两个有序链表
举报原因:
原因补充:

(最多只允许输入30个字)