【简单】面试题25. 合并两个排序的链表

剑指offer_面试题25 : 合并两个排序的链表( python实现 ) 合并两个排序的链表( python实现 ) 一、题目描述 题目:合并两个排序的链表 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然增序的。。 二、解题思路   暂略。(此处主要作为书中python实现补充) 三、代码实现   这里的链表是单向链表,为程序更直观的展示出来,首先我们先定义一个节点类,如下。 class LinkedListNode(): def __init... 阅读详情

【题目】
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
来源:leetcode
链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/
【示例1】
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
【限制】
0 <= 链表长度 <= 1000
注意:本题与主站 21 题相同:https://leetcode-cn.com/problems/merge-two-sorted-lists/
【思想】
有点二路归并的赶脚
【代码】

class Solution {
public:
    ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {
        ListNode*rs=NULL,*cur,*pre=NULL;
        while(l1&&l2){
            if(l1->val<=l2->val){
                cur=l1;
                l1=l1->next;
            }else{
                cur=l2;
                l2=l2->next;
            }
            if(rs==NULL){
                rs=cur;
                pre=cur;
            }else{
                pre->next=cur;
                pre=cur;
            }
        }
        while(l1){
            if(rs==NULL)
                rs=l1;
            else
                pre->next=l1;
            pre=l1;
            l1=l1->next;
        }
        while(l2){
            if(rs==NULL)
                rs=l2;
            else
                pre->next=l2;
            pre=l2;
            l2=l2->next;
        }
        return rs;
    }
};
25. 合并两个排序的链表 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。中有没有一个为空,如果有一个为空,那么我们直接返回另一个链表即可。后面,然后将指针向后移动一位。我们先创建一个虚拟头结点。的值,将较小的值接在。分别为两个链表的长度。分别为两个链表的长度。 阅读详情

相关推荐

剑指offer面试题25. 合并两个排序的链表(双指针)

题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 原创文章 264获赞 692访问量 3万+ 关注 私信 展开阅读全文 作者:程旭员

25-合并两个排序的链表

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。如输入:1->2->4, 1->3->4;输出:1->1->2->3->4->4。 解析的过程中,需要关注两个点:1.将两个链表合并成一个链表;2.新合并的链表也要符合递增。在初始化的时候先虚拟化出一个节点,作为新的链表的头节点(node),再定义一个指针cur指向node节点。然后对l1和l2链表分别进行遍历,找到l1和l2链表头节点值小的节点,...

sunny_daily的博客 662

别再手动算考勤了!教你用Python+企业微信API自动生成月度报表

本文介绍如何利用Python和企业微信API构建自动化考勤分析系统,实现从数据获取到可视化报表生成的全流程自动化。通过企业微信打卡接口获取数据,使用Pandas进行高效清洗和分析,并生成Excel和HTML格式的报表,大幅提升考勤统计效率。系统支持智能判定考勤状态,如迟到、早退等,并可通过定时任务实现月度自动化运行。

weixin_27875131的博客 292

剑指 Offer 25. 合并两个排序的链表

剑指 Offer 25. 合并两个排序的链表

weixin_42307601的博客 299

游戏数据训练世界模型:AI物理规律学习与仿真应用实践

世界模型作为理解现实世界动态的AI工具,通过多模态数据学习物理和空间属性来预测未来状态。其核心原理在于从环境交互中提取物理规律,技术价值体现在能够安全、低成本地训练AI系统应对复杂场景。在应用层面,游戏数据因其结构化环境和内置物理引擎,成为世界模型训练的优质素材。游戏世界中的物体交互、运动轨迹等数据天然包含现实物理规律,特别适合训练物理AI。本文以General Intuition公司获得3.2亿美元融资为切入点,深入探讨游戏数据在世界模型训练中的技术实现路径,涵盖数据提取管道构建、多模态数据融合方法,以及

weixin_29056865的博客 367

SpringBoot不用三方框架,怎么动态调度定时任务,ScheduledExecutorService 详解

Spring Boot 提供了强大的定时任务支持,无需依赖任何第三方框架,即可轻松实现可配置的定时任务。通过使用 `@EnableScheduling` 注解启用定时任务支持后,我们可以利用 `@Scheduled` 注解来定义定时任务的方法,这些方法可以在指定的时间间隔或特定时间点自动执行。 我们还可以通过集成 `ScheduledExecutorService` 来实现灵活的定时任务管理。`ScheduledExecutorService` 是 Java 标准库的一部分,能够以固定速率或延迟执行任务,

横竖撇折点 1939

合并两个排序链表(C语言)

先看题,其实题目很明白: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 这道题有递归和非递归做法,主要学习的是递归的想法。 题目的函数: struct ListNode *mergeTwoLists(struct ListNode *l1, struct ListNode *l2){} 法一:递归 我们以下面这个例子来看

ouliten的博客 3080

手把手搭建摄像头驱动(一):I2C设备树插件与OV5640实战

本文手把手指导如何搭建OV5640摄像头驱动,重点讲解I2C设备树插件的编写与实战应用。通过硬件连接验证、I2C驱动框架搭建、设备树插件编译及动态加载调试,系统介绍Linux驱动开发全流程,并提供常见问题解决方案,帮助开发者快速掌握摄像头驱动开发技术。

git9versioner的博客 755

输入两个递增排序的链表,合并这两个链表并使新链表中的结点按照递减排序

同学问到的简单的设计单链表的问题,就当温习C语言语法了,希望面试可以用的上。 Sample: list1: 1->3->6->9; list2: 2->4->5->12->19; result: 19->12->9->6->5->4->3->2->1; 使用C语言实现,因为最近练C++比较多,C语言...

Xiami2019的博客 1577

保姆级教程:从Salmon输出到DESeq2,搞定RNA-seq表达矩阵标准化与下游分析准备

本文提供从Salmon输出到DESeq2标准化的RNA-seq数据分析全流程指南,详细解析表达矩阵构建、标准化方法选择及下游分析准备。重点介绍如何将Salmon定量结果转换为DESeq2兼容格式,包括TPM与原始计数的处理技巧,以及常见问题排查方法,帮助研究人员高效完成RNA-seq数据分析。

weixin_42699679的博客 306

[基于STM32底盘控制与ROS上层导航小车制作] 第一节 stm32电机驱动与编码器读取反馈

系列文章目录 第一节stm32电机驱动与编码器读取反馈 第二节 stm32电机pid控制 第三节 stm32线速度标定 第四节 stm32添加mpu6050得到angle角度 第五节 实现STM32与ubuntu系统下的ROS串口DMA通信,传输底盘速度等信息 第六节 ROS计算和发布里程计 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 系列文章目录 前言 1.pwm与电机正反转 2.编码器初始化 二、pwm控制与编码器使用 1.pwm使电机 .

LanLanLan1927的博客 1万+

剑指offer | 面试题25:合并两个排序的链表

转载本文章请标明作者和出处 本文出自《Darwin的程序空间》 本文题目和部分解题思路来源自《剑指offer》第二版 开始行动,你已经成功一半了,献给正在奋斗的我们 题目 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是依照递增排序的。例如链表1和链表2合并之后的升序链表就是链表3; 链表定义如下: public class ListNode { // 链表值 ...

程序员大航子 9038

ubuntu:E: 无法定位软件包yum解决方法

如果出现以下问题,则需要更新yum源 yum源位于/etc/apt/sources.list yum源更新的网站有 清华大学开源镜像 中科大开源镜像 1.此处更新yum源的时候先备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo gedit /etc/apt/sources.list 将更新源替换成上面符合版本系列号 我用的版本号为20.04 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

码农研究僧的博客 1万+

【Python】【难度:简单】Leetcode 面试题25. 合并两个排序的链表

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 限制: 0 <= 链表长度 <= 1000 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/he-bin...

thomashhs12的博客 229

5、自适应 RBF 神经网络控制方法解析

本文详细解析了基于RBF神经网络的多种自适应控制方法,包括针对函数未知、参数未知以及存在外部干扰的非线性系统的控制策略。通过李雅普诺夫稳定性理论设计自适应律,确保闭环系统稳定,并结合仿真示例和MATLAB代码实现,展示了方法的有效性。文章还对比了不同控制方法的适用场景,并给出了实际应用流程,为复杂系统控制提供了系统性解决方案。

ol789012的博客 75

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

剑指Offer LeetCode 面试题25. 合并两个排序的链表

面试题25. 合并两个排序的链表 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 限制: 0 <= 链表长度 <= 1000 解题 package 链表; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; i

TrueDei 1580

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【剑指offer】面试题25:合并两个排序的链表

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。  例如输入图中的链表1和链表2,则合并之后的升序链表3所示。 这是一个经常被各公司采用的面试题。在面试过程中,我们发现应聘者最容易犯两个错误:一是在写代码之前没有对合并的过程想清楚,最终合并出来的链表要么中间断开要么并没有递增排序;二是代码的鲁棒性方面存在问题,程序一旦有特殊的输入(如空链表)就会崩溃...

Java学习 635

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

剑指Offer对答如流系列 - 合并两个排序的链表

文章目录面试题25:合并两个排序的链表一、题目描述二、问题分析三、问题解答(1)非递归(2)递归 面试题25:合并两个排序的链表 一、题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。 链表结构: public class ListNode { int val; ListNode next=null; List...

明月沉江春雾晓 3316

面试题25:合并两个排序的链表

题目: 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是递增排序的。 分析: 定义两个指针,分别指向这两个链表的第一个结点。当第一个结点的值小于第二个结点的值时,链表1的头结点将是合并后的链表的头结点。继续比较两个头结点,如果第二个结点的值小,链表2的头结点将是合并剩余结点得到的链表的头结点。 解法: package com.wsy; class Node { ...

王劭阳的博客 290

面试题25. 合并两个排序的链表

(一)循环 (二)递归

qq_43411555的博客 215

剑指offer第二版(Python3)--面试题25:合并两个排序的链表,合并K个排序链表

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 这是一道经常被各公司采用的面试题*----《剑指offer》

鲁班七号 391

剑指offer面试题25(java版):合并两个排序的链表

welcome to my blog 剑指offer面试题25(java版):合并两个排序的链表 思路 在一个循环中操作, 每一次循环都找处两个链表中值更小的节点作为头结点, 缩短链表继续下一轮循环 典型的递归过程 自制的简陋递归版代码(无return), 放弃这个版本 public class Solution { public ListNode Merge(ListNode lis...

littlehaes的博客 284

面试题25 合并两个排序的链表 Python3

输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 思路1 辅助列表 这应该是最无脑的思路了,即先遍历两个列表,将所有节点的value存入到一个列表里; 之后再将列表sort一下; 最后将列表转换为链表即可。 代码如下 # Definition for singly-linked list. # class Lis..

NLOS的博客 426

【Java】 面试题25:合并两个排序的链表

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然使递增排序的。 题目分析   假如List1中的头节点是小于List2中的,那么新的链表的头节点必将是List1的头节点,同理对List2也一样,那么在比较完头节点之后,再将List1中的下一个节点再与List2中的头节点比较,同样谁小谁进入新链表,然后再比较,直到两个链表比较完,故可用非递归或递归两种方式来做。 递归求解: pac...

小小核桃 203

面试题25:合并两个排序链表

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。 #include<iostream> #include"List.h" using namespace std; //struct ListNode { // int m_nValue; // ListNode* m_pNext; //}; ListNode* MergeTwoLists(List...

- 150

面试题25.合并两个排序的链表

面试题25.合并两个排序的链表 题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 限制: 0 <= 链表长度 <= 1000 题解 递归的思想,比较两个链表的数,将较小的拿出来,递归的比较剩余的链表与另一个链...

weixin_44458246的博客 162
上一篇: 【简单】1370. 上升下降字符串
下一篇: 【简单】面试题15. 二进制中1的个数
菜菜2022
博客等级 码龄9年 67粉丝 1033原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值