3/7—21. 合并两个有序链表

代码实现:

方法1:递归  ---->难点

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* mergeTwoLists(struct ListNode *list1, struct ListNode *list2) {/*1.如果l1为空,返回l22.如果l2为空,返回l13.如果l1的值小于l2,比较l1的next值和l2,并把值赋给l1的下一个;返回l14.反之,比较l1和l2的next值,并把值赋给l2的下一个;返回l2*/if (list1 == NULL) {return list2;} else if (list2 == NULL) { return list1;}if (list1->val < list2->val) { list1->next = mergeTwoLists(list1->next, list2);return list1;} else {list2->next = mergeTwoLists(list1, list2->next);return list2;}
}

方法2:常规解法+设置虚拟头结点                                                                           

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* mergeTwoLists(struct ListNode *list1, struct ListNode *list2) {if (list1 == NULL) {return list2;}if (list2 == NULL) {return list1;}struct ListNode *head = malloc(sizeof(*head)); // 设置虚拟头结点struct ListNode *h = head;while (list1 && list2) {if (list1->val < list2->val) {h->next = list1;list1 = list1->next;} else {h->next = list2;list2 = list2->next;}h = h->next;h->next = NULL;}if (list1) {h->next = list1;}if (list2) {h->next = list2;}struct ListNode *result = head->next;head->next = NULL;free(head);return result;    
}

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

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

相关文章

2024最新图标设计趋势!附超好用的图标工具清单

图标&#xff0c;在界面设计中的作用不容小觑。正所谓浓缩的就是精华&#xff0c;一个小小的图标&#xff0c;却有着高效传递信息、美化界面排版、提升用户体验的巨大能力。 既然图标如此重要&#xff0c;了解图标设计趋势对设计师来说几乎是必须要做的事&#xff0c;它可以让…

python3安装chrome,chromedriver亲测有效

客户用python写了个脚本&#xff0c;需要用到chrome和chromedriver扩展&#xff0c;结果说安装不了&#xff0c;各种报错&#xff0c;好吧我来研究一下。众所周知linux自带python2.7&#xff0c;根据报错查了一下资料发现是版本冲突导致的&#xff0c;系统自带2.7&#xff0c;代…

Python语言基础与应用-北京大学-陈斌-P32-31-计算和控制流-上机练习:创建并调用函数-字符集合的并集-上机代码

Python语言基础与应用-北京大学-陈斌-P32-31-计算和控制流-上机练习&#xff1a;创建并调用函数-字符集合的并集-上机代码 本文环境&#xff1a; win10 Thonny4.1.4 # 函数训练字符集合的并集 def my_union(str1,str2):list1 []list2 []i 0 while i < len(str1):lis…

springboot使用异步多线程

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 在shigen之前的很多文章中&#xff0c;提到了线程池&#xff1a; 高性能API设计…

利用IP地址信息提升网络安全

在计算机网络中&#xff0c;IP地址是用于唯一标识网络设备的重要标识符。然而&#xff0c;由于网络中存在大量设备&#xff0c;有时会出现IP地址冲突的情况&#xff0c;即两个或多个设备在同一网络中使用了相同的IP地址&#xff0c;这可能导致网络连接故障和通信中断。本文将介…

蚂蚁SEO什么是蜘蛛池2024最新强势蜘蛛池

蜘蛛池是一种搜索引擎优化&#xff08;SEO&#xff09;策略&#xff0c;通过在互联网上建立大量的网站和链接&#xff0c;吸引搜索引擎的爬虫&#xff08;也称为“蜘蛛”&#xff09;访问&#xff0c;以提高网站的搜索排名和曝光率。以下是关于蜘蛛池的详细解释&#xff1a; 获…

FX110网:CTRL FX 是典型的诈骗平台!汇友发出肺腑之言

“CTRL FX 是一个典型的投资骗局&#xff0c;以‘出金缴税’等为幌子反复割韭菜&#xff0c;入金了这么多&#xff0c;但没有一次出金获得批准。揭露他们的骗局&#xff0c;保护受害者对我是一种宽慰。” 这是近日一汇友在对CTRL FX平台彻底失望后发出的声音。珍惜别的投资者用…

一个你可能不曾注意的小东西,Spring依赖注入Bean类型的8种情况

今天来讲的一个你可能不曾注意的小东西&#xff0c;那就是Spring依赖注入支持注入Bean的类型&#xff0c;这个小东西可能看似没有用但是实际又有点小用。 其实本来这周没打算写文章&#xff0c;但是突然之间就想到了之前有个妹子问过这个问题&#xff0c;并且网上这块东西说的…

学生课程参与度的一些情况

喊口号 日常校园中不乏各式各样的口号和标语。 但是能否落实到实处&#xff0c;非常难以评定的。 以学生为中心 实际上&#xff0c;学生对于课程几乎没有任何选择权和掌控权。 1&#xff0c;课程并非是学生自己选择的&#xff0c;还是培养方案安排的。 2&#xff0c;课程教…

nestjs 管道验证DTO

我将dto文件全收集到一个dto文件夹里&#xff0c;可按照文档建议。 1.安装依赖 pnpm i --save class-validator class-transformer参考文档https://github.com/typestack/class-transformerhttps://github.com/typestack/class-transformer https://github.com/typestack/cl…

使用测试驱动开发模式编写智能合约

hardhat简介 hardhat是一个以太坊智能合约开发框架&#xff0c;主要用于简化和加速以太坊区块链上的智能合约开、测试和部署&#xff0c;提供了许多工具帮助开发人员更轻松地构建和维护智能合约项目&#xff0c;以下是他的一些主要功能&#xff1a; 智能合约开发&#xff1a;h…

MySQL 针对逗号拼接的数据字段转行思路

一、MySQL 针对逗号拼接的数据字段转行思路 在 MySQL 中我们有可能为了方便操作&#xff0c;有时会将一个字段存储多个信息&#xff0c;使用英文逗号隔开&#xff0c;当然这种情况属于对数据库的设计上有些欠妥。但如果遇到了这种情况又需要对数据进行统计的情况就有点棘手了&…

STM32CubeIDE基础学习-设置输出HEX和BIN文件的方法

STM32CubeIDE基础学习-设置输出HEX和BIN文件的方法 前言 当某些时候&#xff0c;需要把一个程序下载到单片机里面进行功能验证或者看结果时&#xff0c;可以用串口软件来烧录程序&#xff0c;而不用再打开程序工程在线烧录程序这么麻烦了&#xff0c;那么就需要该工程文件夹下…

电脑记事本怎么查看字数 记事本字数便捷查看方法

在数字化的时代&#xff0c;电脑记事本已成为我记录生活、工作的得力助手。相较于传统的纸质笔记本&#xff0c;它的便捷性不言而喻&#xff1a;随时随地&#xff0c;打开就能写&#xff0c;无需担心纸张用尽或笔墨不干的尴尬。但有一个问题一直困扰着我&#xff0c;那就是如何…

UI学习 一

教程&#xff1a;Accessibility – Material Design 3 需要科学上网&#xff0c;否则图片显示不出来。设计教程没有图片说明&#xff0c;不容易理解。 优化UI方向 清晰可见的元素足够的对比度和尺寸重要性的明确等级一眼就能辨别的关键信息 传达某一事物的相对重要性 将重…

(二十二)从零开始搭建k8s集群——高可用kubernates集群搭建上篇

前言 本节内容分为上、中、下三篇&#xff0c;上篇主要是关于搭建k8s的基础环境&#xff0c;包括服务器基本环境的配置&#xff08;网络、端口、主机名、防火墙、交换分区、文件句柄数等&#xff09;、docker环境部署安装配置、镜像源配置等。中篇会介绍k8s的核心组件安装、k8…

xss.pwnfunction.com靶机 Warmups

通关要求弹出警告框alert(1337) 没有用户交互 不能使用外链接 在chrome中测试 Ma Spaghet! 通过分析代码我们可以看到它直接用innerHTML将接收的内容赋值 但是我们不能使用<script>标签因为&#xff1a;HTML 5 中指定不执行由 innerHTML 插入的 <script> 标签。 所…

网络原理初识

一、IP地址 概念 IP 地址主要用于标识网络主机、其他网络设备&#xff08;如路由器&#xff09;的网络地址。简单说&#xff0c; IP 地址用于定位主机 的网络地址 。 就像我们发送快递一样&#xff0c;需要知道对方的收货地址&#xff0c;快递员才能将包裹送到目的地。 二、…

YOLOv8原创改进:原创自研head创新 | 空间上下文感知模块(SCAM)结合超轻量高效动态上采样DySample | 小目标涨点系列

💡💡💡本文独家改进:YOLOV8 head创新,1)一种超轻量高效动态上采样DySample, 具有更少的参数、FLOPs,效果秒杀CAFFE和YOLOv8网络中的nn.Upsample;2)加入空间上下文感知模块(SCAM)进一步提升检测精度; 改进结构图如下: 💡💡💡在多个数据集下验证能够涨点…

Java中SpringBoot四大核心组件是什么

一、Spring Boot Starter 1.1 Starter的应用示例 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency><groupId>org.mybatis.sprin…