美文网首页
【教3妹学算法-每日3题(3)】合并两个排序的链表

【教3妹学算法-每日3题(3)】合并两个排序的链表

作者: 程序员小2 | 来源:发表于2022-07-09 14:46 被阅读0次

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
坚持不懈,越努力越幸运,大家一起学习鸭~~~

3妹

3妹:"池塘边的榕树上, 知了在声声叫着夏天"
2哥:"操场边的秋千上,只有蝴蝶停在上面"
3妹:没想到2哥也会唱这类歌曲啊。
2哥:这首哥在我小时候已经很流行了。3妹怎么想起来唱这首歌了?
3妹:2哥在追忆青春,而我正值青春,不会去追忆,所以只能追忆一下童年了,哈哈哈哈。
2哥:“你的童年我的童年好像都一样?”
3妹:“小小肩膀大大书包,上呀上学堂?”,哈哈哈哈。
2哥:哈哈哈哈

讲课

题目:

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。

示例1:

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

0 <= 链表长度 <= 1000

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路:

递归过程建模,同时需要考虑边界情况。

如果 l1 或者 l2 一开始就是空链表 ,那么没有任何操作需要合并,所以我们只需要返回非空链表。否则,我们要判断 l1 和 l2 哪一个链表的头节点的值更小,然后递归地决定下一个添加到结果里的节点。如果两个链表有一个为空,递归结束。

java代码1:


/**
 * 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;
        } else if (l2 == null) {
            return l1;
        } else if (l1.val < l2.val) {
            l1.next = mergeTwoLists(l1.next, l2);
            return l1;
        } else {
            l2.next = mergeTwoLists(l1, l2.next);
            return l2;
        }
    }
}

相关文章

  • 【教3妹学算法-每日3题(3)】合并两个排序的链表

    插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。[http...

  • 23. 合并K个排序链表

    合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 思路--顺序合并 python3解...

  • 面试题

    算法数据结构 1、输入两个递增排序的链表,合并这两个链表并使新链表中的节点依然是递增顺序的。 2、快速排序 3、2...

  • 周常3 算法题5道、react ssr 补充

    周常 算法题 java 实现1.调整数组顺序使奇数位于偶数前面2.链表中倒数第k个结点3.翻转链表4.合并两个排序...

  • 10 - Hard - 合并K个元素的有序链表

    合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入:[1->4->5,1->3-...

  • 23. 合并K个排序链表

    合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入:[1->4->5,1->3-...

  • 合并 k 个排序链表

    合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入:[1->4->5,1->3-...

  • LeetCode 23. 合并K个排序链表

    合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入:[1->4->5,1->3-...

  • 23. 合并K个排序链表*

    合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入:[1->4->5,1->3-...

  • 23. 合并K个排序链表

    合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入:[1->4->5,1->3-...

网友评论

      本文标题:【教3妹学算法-每日3题(3)】合并两个排序的链表

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