【 腾讯精选练习 50 题】12—合并两个有序链表【简单】

简介: 【 腾讯精选练习 50 题】12—合并两个有序链表【简单】

题目链接

21. 合并两个有序链表【简单】

题目简介

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

示例 1:

题目解析

  1. 定义一个辅助链表 ListNode newNode = new ListNode(0);,定义一个指针 p3 = newNode
  2. 分一下四种情况
  • l1 == nullp3 直接连接 l2 即可
  • l2 == nullp3 直接连接 l1 即可
  • l1.val <= l2,valp3 直接连接 l1(数值小的) 即可
  • l1.val > l2.valp3 直接连接 l2(数值小的) 即可

题目代码

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if(l1 == null && l2 == null){
            return null;
        }
        ListNode p1 = l1;
        ListNode p2 = l2;
        ListNode newNode = new ListNode(0);
        ListNode p3 = newNode;
        while(p1 != null || p2 != null){
            if(p1 == null){
                p3.next = p2;
                p2 = p2.next;
                p3 = p3.next;
            }else if(p2 == null){
                p3.next = p1;
                p1 = p1.next;
                p3 = p3.next;
            }else if(p1.val < p2.val){
                p3.next = p1;
                p1 = p1.next;
                p3 = p3.next;
            }else{
                p3.next = p2;
                p2 = p2.next;
                p3 = p3.next;
            }
        }
        return newNode.next;
    }


相关文章
|
2月前
Leetcode第21题(合并两个有序链表)
这篇文章介绍了如何使用非递归和递归方法解决LeetCode第21题,即合并两个有序链表的问题。
52 0
Leetcode第21题(合并两个有序链表)
|
2月前
|
存储 算法
【❤️算法笔记❤️】-每日一刷-21、合并两个有序链表
【❤️算法笔记❤️】-每日一刷-21、合并两个有序链表
108 0
|
4月前
|
Python
【Leetcode刷题Python】21. 合并两个有序链表
介绍了几种不同的方法来合并多个已排序的链表,包括暴力求解、使用小顶堆以及分而治之策略。
46 2
|
6月前
|
存储 算法 C语言
【数据结构与算法 刷题系列】合并两个有序链表
【数据结构与算法 刷题系列】合并两个有序链表
|
4月前
|
算法
LeetCode第21题合并两个有序链表
该文章介绍了 LeetCode 第 21 题合并两个有序链表的解法,通过创建新链表,依次比较两个链表的头节点值,将较小的值插入新链表,直至其中一个链表遍历完,再将另一个链表剩余部分接到新链表后面,实现合并。
LeetCode第21题合并两个有序链表
|
5月前
【数据结构OJ题】合并两个有序链表
力扣题目——合并两个有序链表
44 8
【数据结构OJ题】合并两个有序链表
|
4月前
|
算法
【算法】合并两个有序链表(easy)——递归算法
【算法】合并两个有序链表(easy)——递归算法
【算法】合并两个有序链表(easy)——递归算法
|
5月前
|
Java
力扣经典150题第五十八题:合并两个有序链表
力扣经典150题第五十八题:合并两个有序链表
46 2
|
6月前
|
算法 Java
[Java·算法·中等] LeetCode21. 合并两个有序链表
[Java·算法·中等] LeetCode21. 合并两个有序链表
62 2
|
6月前
21. 合并两个有序链表
21. 合并两个有序链表