leetcode 21.Merge Two Sorted Lists(merge两个排好序的链表)

Merge Two Sorted Lists(合并两个排序链表) 21. Merge Two Sorted Lists题目描述:Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.Example:Input: 1->2->4... 阅读详情

在这里插入图片描述两个链表已经是升序,现要把它们结合成一个升序排列的链表。

思路:
merge sort
为了方便定义head节点,不至于中间频繁改动位置,始终用head.next指向下一节点。
还要保持一个节点指向最初的head,这样最后直接返回head.next即可。

剩下的就是merge sort,两个节点分别指向list1, list2, 谁的值小,head.next就指向谁,然后节点指针往后移一位。

    public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
        if(list1 == null) return list2;
        if(list2 == null) return list1;
        
        ListNode node1 = list1;
        ListNode node2 = list2;
        ListNode head = new ListNode();
        ListNode tmp = head;
        
        while(node1 != null && node2 != null) {
            if(node1.val <= node2.val) {
                tmp.next = node1;
                node1 = node1.next;
            } else {
                tmp.next = node2;
                node2 = node2.next;
            }
            tmp = tmp.next;
        }
        if(node1 != null) tmp.next = node1;
        if(node2 != null) tmp.next = node2;
        return head.next;
    }
LeetCode 21. Merge Two Sorted Lists 合并两个有序单链表 一直觉得操作链表用C++比用Java药方便很多 Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 合并两个排好序的链表,并返回这个新链表。新链表应该由这两个链 阅读详情

相关推荐

Linux 隐藏进程

这种方式属于DKoM(Direct Kernel Object Manipulation)攻击方式了,即直接内核对象操作技术。关于第一种hook方式可以参考上一篇文章。最后推荐一个rootkit工具。

chi's blog 2049

两个已经排好序的链表合并为一个有序链表

将两个已经排好序的链表,比如从小到大,合并成一个有序的链表 #include "stdafx.h" #include <stdlib.h> typedef struct node { int data; struct node *next; }node, *linklist; void createlist(linklist &L,...

weixin_30258901的博客 332

【Collibra 驱动 IPD 数据血缘治理】:三层图谱分层展示体系与全链路追踪的技术业务实践

(应用级/数据级/字段级)是理解复杂数据流动的核心手段。其价值不仅体现在可视化的直观性,更在于通过。技术保障血缘不可篡改性,进一步提升IPD数据治理的可靠性。,解决了跨层级血缘分析的性能与可用性矛盾。数据血缘图谱要素定义(字节跳动/腾讯云/信安标委)实现对IPD数据的精准追踪,而数据血缘图谱的。分层交互设计标准(智慧城市数据中台规范)Collibra技术文档(2024)字段级血缘的挑战与解决路径。自动优化血缘路径,并深化。字段级血缘技术实现方案。Collibra通过。图数据库性能优化原理。

百态·数智思维 | 聚焦大数据、量化与未来AI 1242

将两个从小到大排列的链表合并为一个新链表(仍然有序排列),输出合并前的两个链表,输出合并后的链表,检查合并是否成功。(C语言)

#include<stdio.h> #include<stdlib.h> #include<time.h> struct Node{ int Data; struct Node *Next; }; struct Node *create(){ struct Node *head; head=malloc(sizeof(struct Node)); head->Next=NULL; return head; } voi.

zhan_qian的博客 693

西门子博图编程:使用S7-1500冗余PLC 建立ModbusTCP通信

文章目录1.1 网络结构1.2 系统 IP 介绍1.3 Modbus TCP 通讯编程1.3.1 CPU 做服务器 1.1 网络结构 以 CPU151 7H 为例, 网络结构示意如下图所示: CPU 1517H 冗余 PLC 有 PROFINET X1 接口和 X2 接口, Modbus TCP 通讯可以将设备(例如 Standard PLC)通过交换机接入到任何网络接口中。如果接入 X1 接口,需要通过交换机接入到 MRP 环网中,但是并不需要支持 H-sync 转发。如果接入 X2 接口,只需要使

2万+

功能安全实战系列09-英飞凌TC3xx LBIST开发详解

英飞凌Tricore/LBIST开发详解

initiallizer的博客 1103

leetcode merge-two-sorted-lists题解

题目描述:Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 汉语理解:将两个有序链表合并为一个链表,并且新链表是由原来两个链表的节点组成的。 解题思路:这个题目的...

leo_weile的博客 202

Open3D 计算点云基本特征

在 Open3D 中,可以通过 PCA(主成分分析)来求得点云的特征值和特征向量。然后基于这些特征值,进一步计算各种几何特征,如线性、平面性、球度等。

纵马踏花向自由 1605

leetcode题解-21. Merge Two Sorted Lists

题意:合并两个排好序的链表,并返回这个新链表。新链表应该由这两个链表的节点拼接而成。例子:给定链表 l1: 1->2->4, l2: 1->3->4 返回链表: 1->1->2->3->4->4分析:本题是简单题,但是我做出来却花费约四十分钟。因为感觉两个链表节点的大小关系不好定。做完以后我看了一下discuss,基本上都是使用递归来做的,我个人不喜欢用递归,因为空间的消耗量太大。因此就写出了

Irving_zhang的专栏 541

麒麟系统无法进入单用户模式该怎么办?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1820

学Simulink——基于高渗透率可再生能源微电网的逆变器系统场景实例:含高比例逆变型电源的微电网暂态稳定性分析

本文详细介绍了基于MATLAB/Simulink的高渗透率可再生能源微电网建模方法,重点分析含高比例逆变型电源的微电网暂态稳定性问题。通过构建包含光伏、风电、逆变器和电网等模块的系统模型,展示了从项目创建、模块搭建到控制策略实现的完整过程。文章特别提供了逆变器PQ控制算法和故障处理逻辑的代码示例,并介绍了仿真参数设置与结果分析方法。该模型能有效评估微电网在故障条件下的动态响应特性,为优化逆变器控制策略提供依据,对现代智能电网研究具有重要意义。

xiaoheshang_123的博客 140

leetcode_21. Merge Two Sorted Lists 合并两个排好序的单链表

题目: Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 题意: 合并两个排好序的单链表 代码: # Definition for

qqzj_bupt的博客 245

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【力扣Leetcode题解系列之0021—Merge Two Sorted Lists 合并两个有序链表】

链表操作的核心要点:合并有序链表问题涵盖了链表操作的多个核心要点,包括节点的比较、指针的移动和链表的拼接。通过解决这类问题,我们深入理解了链表数据结构的特性以及如何灵活运用指针来实现复杂的操作。无论是迭代还是递归的方法,都需要精确控制指针的指向和移动,确保链表结构的完整性和正确性。算法设计的灵活性:本题的多种解法以及扩展题目展示了算法设计的灵活性。迭代法直观且易于理解,递归法简洁明了,能够体现问题的递归本质。在面对不同的问题场景时,我们需要根据具体需求选择合适的解法。

youngerwang的博客 1062

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LeetCode 21. Merge Two Sorted Lists(合并两个有序链表) -- c语言

21. Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. Example: Input: 1->2-&gt...

d_benhua的博客 360

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

leetcode第21题——*Merge Two Sorted Lists

题目 Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 思路 把两个有序链表归并成一个有序链表。先用比较笨但很简洁的办法:遍历两个有序链表的节点,比较值

buptlrw的专栏 1380

LeetCode 21. Merge Two Sorted Lists 题解

本题是链表合并的经典问题。迭代方法:虚拟头节点的使用递归方法:递归的终止条件处理剩余节点通过本题可以深入理解链表的基本操作。

cannonjinx的博客 4166

LeetCode 21 Merge Two Sorted Lists 把两个链表有序连接

题目: Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. 翻译: 把2个有序链表连接,返回一个新链表 思路: 很简单,就是遍历每个节点,小的话添加在

大三狗现在才努力还不算晚吧?! 2470

LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)

错误点说明忘记处理 list1 或 list2 为空递归终止条件必须明确返回值写错必须返回当前较小节点忘记链表节点next指向递归结果合并后需要正确接上剩余部分本题考察的是链表合并技巧,是刷链表题目的基础必刷题。递归法写法简洁优雅,利于展示思路清晰。需要注意如果链表非常长,递归层数过多可能导致栈溢出,此时可以选择迭代法(循环解)(空间复杂度 O(1))。

2501_91641025的博客 580

leetcode 21.合并两个有序链表(merge two sorted lists)C语言

leetcode 21.合并两个有序链表(merge two sorted lists)C语言1.description2.solution 1.description https://leetcode-cn.com/problems/merge-two-sorted-lists/description/ 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2-&g

hsk6543210的博客 432

Leetcode 21. Merge Two Sorted Lists 合并两个有序链表

Leetcode 21. Merge Two Sorted Lists 合并两个有序链表 标签: Leetcode 题目地址:https://leetcode-cn.com/problems/merge-two-sorted-lists/ 题目描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。&nbsp; 示例: 输入:1-&gt;2-&gt;4,...

CoderWangSon 258

LeetCode第21题思悟——合并两个有序链表(merge-two-sorted-lists)

LeetCode第21题思悟——合并两个有序链表(merge-two-sorted-lists) 文章目录LeetCode第21题思悟——合并两个有序链表(merge-two-sorted-lists)知识点预告题目要求示例我的思路优秀解法差异分析知识点小结 知识点预告 空头节点的处理; 题目要求 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 ...

博采众长,自成一派; 496

leetcode 21. Merge Two Sorted Lists和2. Add Two Numbers

【代码】leetcode 21. Merge Two Sorted Lists和2. Add Two Numbers。

weixin_41554427的博客 442

【LeetCode】21. Merge Two Sorted Lists

我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容,分享在学习过程中的读书笔记!期待您的关注,欢迎一起学习交流进步! 知乎主页:https://www.zhihu.com/people/MicrostrongAI/activities Github:https://github.com/Microstrong0305 个人博客:https://blo.

Microstrong 641

LeetCode [链表] 21.Merge Two Sorted Lists (C++和Python实现)

21.Merge Two Sorted Lists [难度:简单] 【题目】 Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists. Example: Input...

咸鱼夏の翻身观察记录 282

【leetcode 链表】 Merge Two Sorted Lists 和 Merge k Sorted Lists

Merge Two Sorted

wepon的专栏 1856
上一篇: leetcode 1359. Count All Valid Pickup and Delivery Options(有效的快递序列数目)
下一篇: cpp std::bind std::cref std::ref 实例说明
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值