LeetCoed刷题:21. 合并两个有序链表

题目:

是否独立解出:否

解题时的思路与想法:解题时有几个问题:

1.怎么遍历两个数组,嵌套两个while循环不能实现(后面通过看题解知道list1!=null&&list2!=null

2.指定哪个链表为头结点(最开始想通过if语句在while循环的时候判断一下),后面通过看题解知道,可以提前创建一个new ListNode(-1)作为头结点

3.还有一个问题,就是最开始没有看懂为什么创建了头结点,ListNode prev=new ListNode(-1);后,还要创建一个ListNode pre = prev; ,后面了解到,prev只是作为头结点,静止不动,而pre需要不断去两个链表跳转。

4.关于返回值问题(一直以来是我比较迷惑的地方),如果返回list1或者2的话,只能返回一部分的节点值,返回pre则只会返回到最后一个节点(个人推测不确定对错)

解题思路:创建一个节点作为头结点,然后同时通过while循环遍历两个数组,用if语句判断出最小的那一个list,则用pre指向他,然后被指向的那个list向后移一位。然后pre也要随着list1与list2的比较大小不断地移动自己的位置。在结束循环之后,两个链表的长度可能并不是一样的,所以要把长的那一端直接添加到新链表最后面,返回头结点的下一个即可

解题代码:

class Solution {public ListNode mergeTwoLists(ListNode list1, ListNode list2) {   ListNode prev =new ListNode(-1);ListNode pre =prev;if(list1==null&&list2==null){return null;}if(list1==null){return list2;}if(list2==null){return list1;}while(list1!=null&&list2!=null){if(list2.val>=list1.val){pre.next=list1;list1=list1.next;}else{pre.next=list2;list2=list2.next;}pre=pre.next;}pre.next=list1==null?list2:list1;return prev.next;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/596421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git合并代码问题:Committer identity unknown *** Please tell me who you are

问题描述 由于很久没操作git分支上的代码,最近在idea中做分支合并的时候遇到了如下问题:Committer identity unknown *** Please tell me who you are. Run git config --global user.email "youexample.com" git config --global user.name …

修改 docker /dev/shm 的大小

修改 docker /dev/shm 的大小 1,获取完整id: docker inspect 245| grep Id rootlynxi:~# docker inspect 245| grep Id"Id": "245ab167ed9a79873b31b3a38df2053870fe72f267c3c1a660df25c63e37e88b",2,修改 ShmSize&…

函数模板和类模板(初阶)

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生🐻‍❄个人主页🎉:GOTXX🐼个人WeChat:ILXOXVJE🐼本文由GOTXX原创,首发CSDN&am…

Ef Core花里胡哨系列(11) ef8 无实体查询,你好!

Ef Core花里胡哨系列(11) ef8 无实体查询,你好! EF7 引入了返回标量类型的原始 SQL 查询。 这在 EF8 中得到了增强,包括返回任何可映射 CLR 类型的原始 SQL 查询,而无需在 EF 模型中包括该类型。 使用非映射类型的查询是使用 SqlQuery 或 S…

【springboot配置文件加载源码分析】

在Spring Boot的源码中,配置文件的加载是在应用程序启动的早期阶段进行的。具体来说,配置文件加载的主要步骤发生在SpringApplication类的run()方法中的prepareEnvironment方法中,真正读取我们的配置文件还是PropertySourceLoader。 本篇博客…

哪个牌子最值得购买?好用的洗地机排行榜

随着生活水平的提高,人们对家庭卫生的重视程度也越来越高,家用洗地机成为了现代家庭清洁中不可或缺的一部分。2024年的品牌排行榜也开始逐渐浮出水面,消费者们对于哪个品牌的家用洗地机更值得信赖也开始产生了新的讨论。接下来,让…

跟我用路由器学Linux编程实例四

专栏目录 第一章 简单编程实现花生壳的ddns功能 第二章 让花生壳ddns脚本自动工作 第三章 同时解析多个花生壳域名的脚本 第四章 具有通用性的花生壳ddns脚本 用折腾路由的兴趣,顺便入门shell编程。 第四章 具有通用性的花生壳ddns脚本 文章目录 专栏目录第四章 具…

C语言快速入门——基础知识

C语言基础 C语言基础C程序基本格式基本数据类型原码、反码和补码原码反码补码 整数类型浮点类型字符类型 变量变量的使用无符号数类型转换 运算符基本运算符运算符优先级自增自减运算符位运算符逻辑运算符 流程控制分支语句 - if分支语句 - switch循环语句 - for循环语句 - whi…

defer与interface底层简记

defer:是go语言的一个关键字,用来修饰函数,其作用是让defer后面跟的函数或者方法调用能够延迟到当前所在函数return或者panic的时候再执行。 groutine结构体里有_defer链表指针的link字段,defer语句会创建_defer结构体&#xff0…

Ebean:一款被低估的ORM框架

ORM框架为什么不香? 对ORM框架的偏见 看了一些MyBaties与Hibernate进行对比的文章。可能是因为一些Hibernate历史原因,国内对于Hibernate普遍存在偏见,我摘抄了几点: 1. hibernate是全自动,而mybatis是半自动 hibernat…

如何让软文真正起效?媒介盒子为你解答

在如今这个互联网大环境下,想要写出有价值的软文去“忽悠”用户其实是不简单的,那我们应该怎么做才能让软文真正起效呢?媒介盒子为你解答。 一、软文写作前 1.了解平台特性 每个平台都有自己的定位。有的定位于以分享专业知识为主&#xff…

Unreal FFastArray实现原理

文章目录 使用示例原理说明修改操作序列化保存部分序列化读取部分 使用示例 // 结构体继承FFastArraySerializerItem USTRUCT() struct FXXX: public FFastArraySerializerItem {GENERATED_USTRUCT_BODY()UPROPERTY()int32 XXX;// 客户端同步回调void PreReplicatedRemove();v…

某和医院招采系统web端数据爬取, 逆向js

目标网址:https://zbcg.sznsyy.cn/homeNotice 测试时间: 2024-01-03 1 老规矩,打开Chrome无痕浏览,打开链接,监测网络,通过刷新以及上下翻页可以猜测出数据的请求是通过接口frontPageAnnouncementList获取的,查看返回可以看出来数据大概率是经过aes加密的,如图: 通过查看该请…

智能算力网络Parrot的三个基石假设

任何一个生态系统的发展,包括科学知识体系的发展,都离不开第一性原理层面的科学假设。 欧几里得在五个公理的假设基础之上,推导出416条定律,创立了欧氏几何,推动了人类征服大自然的进程。 王坚博士的三个假设&#x…

014、枚举与模式匹配

枚举类型,通常也被简称为枚举,它允许我们列举所有可能的值来定义一个类型。在本篇文章中,我们首先会定义并使用一个枚举,以向你展示枚举是如何连同数据来一起编码信息的。 接着,我们会讨论一个特别有用的枚举&#xff…

提升设计效率:全面了解如何使用Figma插件

Figma组件库包括颜色、字体、图标、按钮、阴影、圆角、间距等。当Figma组件库的样式和Figma组件达到一定数量时,将难以维护,设计和开发的对接成本将大大提高。Figma可以在同一母版下单独设置样式,而不影响与母版之前的关系,这是Sk…

JAVA进化史: JDK13特性及说明

JDK 13于2019年9月发布。这个版本引入了一些新特性和改进,以下是其中一些主要特性: 动态的CDS归档文件 引入了动态的Class Data Sharing(CDS)归档文件,以提高Java应用程序的启动性能。它允许多个Java进程共享相同的已经被预先加…

9.java——(杂例)组合,代理,向上转型static,fianl,关键字(有道云笔记复制粘贴,大家整体性的把握)

组合——内部有类(心中有对象!!!)(足球 和足球运动员梅西和脚下的足球一样) has和is的区别,has是组合,是有,持有的意思;is是继承,是…

springboot整合mongodb批量修改和添加索引

1:创建字段索引 collection 是集合名称,keys 是一个包含一个或多个字段名,options是排序方向,1正序,-1倒叙 db.collection.createIndex(keys, options)#单字段 db.collection.createIndex(name: 1)#多字段 db.collec…

C++八股学习心得.3

1.C 数组 C 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个…