LeetCode 21Merge Two Sorted Lists 合并两个排序链表 Java

**题目:**将两个已排序的链表合并在一起。

举例1:

输入:list1 = [1,2,4], list2 = [1,3,4];

输出:[1,1,2,3,4,4];

举例2:

输入:list1 = [] , list2 = [];

输出:[]

举例3:

输入: list1 = [] , list2 = [0];

输出: [0]

**解题思路:**遍历两个链表,比较节点值来合并链表,当其中一个链表遍历完成时,将另一个链表剩余部分拼入新链表。

java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 * int val;
 * ListNode next;
 * ListNode() {}
 * ListNode(int val) { this.val = val; }
 * ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        ListNode head = new ListNode(0);
        ListNode currect = head;

        //比较节点,获取较小节点拼入
        while (list1 != null && list2 != null) {
            if (list1.val <= list2.val) {
                currect.next = list1;
                list1 = list1.next;
            } else {
                currect.next = list2;
                list2 = list2.next;
            }
            currect = currect.next;
        }

        //若其中一个链表已遍历完成,拼入另一个链表到新链表中
        if (list1 == null) {
            currect.next = list2;
        } else {
            currect.next = list1;
        }

        return head.next;
    }

}
相关推荐
Emilia486.14 分钟前
【Leetcode&nowcode】代码强化练习(二叉树)
算法·leetcode·职场和发展
墨染点香17 分钟前
LeetCode 刷题【135. 分发糖果】
算法·leetcode·职场和发展
源码_V_saaskw21 分钟前
JAVA国际版二手交易系统手机回收好物回收发布闲置商品系统源码支持APP+H5
java·开发语言·微信·智能手机·微信小程序·小程序
جيون داد ناالام ميづ33 分钟前
Spring AOP核心原理分析
java·数据库·spring
霸道流氓气质1 小时前
SpringBoot+MybatisPlus+自定义注解+切面实现水平数据隔离功能(附代码下载)
java·spring boot·后端
im_AMBER1 小时前
Leetcode 41
笔记·学习·算法·leetcode
海边夕阳20061 小时前
深入解析volatile关键字:多线程环境下的内存可见性与指令重排序防护
java·开发语言·jvm·架构
ZeroKoop1 小时前
JDK版本管理工具JVMS
java·开发语言
rengang661 小时前
101-Spring AI Alibaba RAG 示例
java·人工智能·spring·rag·spring ai·ai应用编程
乾坤瞬间1 小时前
【Java后端进行ai coding实践系列二】记住规范,记住内容,如何使用iflow进行上下文管理
java·开发语言·ai编程