面试算法-160-合并两个有序链表

题目

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

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]

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

java 复制代码
class Solution {
    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        ListNode dummy = new ListNode(0);
        ListNode p3 = dummy;
        ListNode p1 = list1;
        ListNode p2 = list2;
        while (p1 != null && p2 != null) {
            if (p1.val <= p2.val) {
                p3.next = p1;
                p1 = p1.next;
            } else {
                p3.next = p2;
                p2 = p2.next;
            }

            p3 = p3.next;
        }

        p3.next = p1 == null ? p2 : p1;
        return dummy.next;
    }
}
相关推荐
m0_6371469320 分钟前
零基础入门 C 语言基础知识(含面试题):结构体、联合体、枚举、链表、环形队列、指针全解析!
c语言·开发语言·链表
GalaxyPokemon21 分钟前
LeetCode - 148. 排序链表
linux·算法·leetcode
iceslime42 分钟前
旅行商问题(TSP)的 C++ 动态规划解法教学攻略
数据结构·c++·算法·算法设计与分析
spionbo1 小时前
Vue 表情包输入组件实现代码及完整开发流程解析
前端·javascript·面试
天涯学馆1 小时前
前后端分离的 API 设计:技术深度剖析
前端·javascript·面试
aichitang20241 小时前
矩阵详解:从基础概念到实际应用
线性代数·算法·矩阵
异常君2 小时前
Spring 中的 FactoryBean 与 BeanFactory:核心概念深度解析
java·spring·面试
OpenCSG2 小时前
电子行业AI赋能软件开发经典案例——某金融软件公司
人工智能·算法·金融·开源
异常君2 小时前
Java 中 try-catch 的性能真相:全面分析与最佳实践
java·面试·代码规范
chao_7893 小时前
链表题解——环形链表 II【LeetCode】
数据结构·leetcode·链表