美文网首页
链表—合并两个有序链表

链表—合并两个有序链表

作者: 尼小摩 | 来源:发表于2018-07-03 09:22 被阅读35次

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

示例:

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

思路

代码的思路很明确,入参就是两个链表中需要比较的结点,如果说传入的某一个结点为空,则直接返回另一个入参结点即可,如果说传入的结点均不为空,则比较两个结点所带的数据的大小,将较小的结点返回,同时要注意到,代码中用到了递归,这点比较好理解,因为对于我们需要合并的某一个结点来说,完成一次合并后,其下一个结点,自然也能用相同的方法来找到,这样就找到了递归开始的条件,作为一个递归算法,还需要找到递归结束的条件,代码一开始的判断,如果说有一个入参为空,这说明已经到链表末尾,如果说两个入参均为空,这说明已经遍历完两个链表,整个递归结束,合并完成。

代码实现

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if (l1 == null) {
            return l2;
        }
        if (l2 == null) {
            return l1;
        }
        
        ListNode resultNode = null;
        if (l1.val < l2.val) {
            resultNode = l1;
            resultNode.next = mergeTwoLists(l1.next, l2);
        } else {
            resultNode = l2;
            resultNode.next = mergeTwoLists(l1, l2.next);
        }
        
        
        return resultNode;
    }
}

相关文章

  • leecode刷题(23)-- 合并两个有序链表

    leecode刷题(23)-- 合并两个有序链表 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新...

  • leetcode 链表 [C语言]

    21. 合并两个有序链表 合并两个有序链表 61. 旋转链表 (快慢指针) 61. 旋转链表 相关标签 : 链表 ...

  • 合并单链表

    合并两个有序链表非递归实现 合并两个有序链表递归实现

  • leetcode的题目21

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

  • Swift 合并两个有序链表 - LeetCode

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

  • LeetCode 21. 合并两个有序链表

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

  • 刷leetCode算法题+解析(四)

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

  • Swift - LeetCode - 合并两个有序链表

    题目 合并两个有序链表 问题: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节...

  • 3、链表与树

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

  • LeetCode-21-合并两个有序链表

    LeetCode-21-合并两个有序链表 题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的...

网友评论

      本文标题:链表—合并两个有序链表

      本文链接:https://www.haomeiwen.com/subject/oiqduftx.html