剑指Offer之面试题17:合并两个排序的链表

C++版 - 剑指offer 面试题17: 合并两个排序的链表 题解 Question: 合并两个排序的链表 参与人数:4538  时间限制:1秒空间限制:32768K 本题知识点:链表 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 提交网址: http://www.nowcoder.com/practice/d8b6b4358f77 阅读详情


所有代码均通过G++编译器测试,仅为练手纪录。


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

//题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。

//例如链表1{1,3,5,7}和链表2{2,4,6,8},则合并之后的升序链表如链表3{1,2,3,4,5,6,7,8}.


//面试题17:合并两个排序的链表
//题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。
//例如链表1{1,3,5,7}和链表2{2,4,6,8},则合并之后的升序链表如链表3{1,2,3,4,5,6,7,8}.

ListNode *ListMerge(ListNode *pHead1,ListNode *pHead2)
{
    if(NULL == pHead1)
    {
        return pHead2;
    }
    
    if (NULL == pHead2)
    {
        return pHead1;
    }
    
    ListNode *pMergeHead = NULL;
    
    if(pHead1->m_nValue >= pHead2->m_nValue)
    {
        pMergeHead = pHead2;
        pMergeHead->m_pNext = ListMerge(pHead1,pHead2->m_pNext);
    }
    else
    {
        pMergeHead = pHead1;
        pMergeHead->m_pNext = ListMerge(pHead2, pHead1->m_pNext);
    }
    
    return pMergeHead;
}


ZhaiPillary

2016-12-25



关于ADS重新安装失败的解决方案 ads卸载安装license被锁无法修改导致安装最后没有证书 阅读详情

相关推荐

STM32F407 HAL库定时器触发ADC采集与DMA数据传输(定时器TIM+ADC+DMA)

在STM32F407系列微控制器的开发中,结合定时器、ADC(模数转换器)与DMA(直接存储器访问)控制器,能够显著提升数据采集与传输的效率。本文将指导你如何使用STM32 HAL库,通过定时器触发ADC1的单通道采集,利用DMA传输数据,最终通过串口将电压值打印出来。具体实现中,我们将读取ADC1的通道5(对应引脚PA5),并将转换得到的电压值发送到串口助手上进行显示。

jmlinux的博客 7011

剑指offer:面试题17——合并两个排序链表

剑指offer:面试题17——合并两个排序链表 题目:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:直接合并O(n)——如下 或者使用递归合并O(logn)——书114页 /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), ne...

MereX的博客 299

别再瞎调了!STM32 Systick延时函数避坑指南(正点原子、野火、慧净代码对比)

本文深入解析STM32 Systick延时函数的实现差异与优化策略,对比正点原子、野火、慧净等主流方案的优缺点。针对us和ms级延时精度问题,提供避坑指南和高级优化技巧,帮助开发者根据项目需求选择最佳方案,提升嵌入式系统的定时控制精度。

weixin_28717807的博客 340

《剑指Offer》面试题17:合并两个排序的链表

《剑指Offer》 P114面试题17:合并两个排序的链表题目:

(●—●) 404

C# Log4Net不输出日志的解决方法

log4net是一个流行的 .NET 日志框架,用于记录应用程序的日志信息。如果你在使用log4net。

精通搬砖,资深技术砖家,在软件开发,人工智能,设备开发等领域都有研究。商业合作&交流学习可私信联系。 1263

Windows安装Pytorch3d

pytorch和pytorch3d版本对应关系如下:https://github.com/facebookresearch/pytorch3d/releasescuda和NVIDIA CUB版本对应关系如下:https://github.com/NVIDIA/cub/releases?page=1本人配置如下:GPU:1050TiCUDA:11.1python:3.8。

Snakewood的博客 4286

剑指Offer----面试题17:合并两个排序的链表

题目: 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然按照递增排序。如下图所示: 方法一: 分析:创建新的链表3,每次比较链表1和2上相应的值,再链表3上依次创建新的结点,并将各个结点连接起来。 源代码: #include"List.h" #include using std::cout; using std::endl; usi

烽火前秦路 646

IP-Guard安全网关实例

企业相关情况: 1.OA系统,主要为日常工作使用,该系统IP为192.168.1.2,端口为8080; 2.文件共享服务器,用于存放日常工作资料和文档,该文件共享服务器的IP为192.168.1.1,其中\\192.168.1.1\private 目录中的存放着公司重要文档,不能随意外传; 3.安全网关已采用串联的方式联入网络,IP为192.168.2.6,所有机器访问OA系统和文件共享服务...

IP-Guard专栏 706

【剑指 Offer 学习】【面试题 17: 合并两个排序的链表】【思路】

题目: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。   思路: 递归当前较小节点的下一个结点   代码: package 合并两个排序的链表; class ListNode { int val; ListNode next = null; public ListNode(int val) { this.val = va...

handsome_zan的博客 238

基于EB工具的TC3xx_MCAL配置开发05_ADC模块硬件Pwm触发Demo配置

基于EB工具,硬件Pwm触发ADC采集Demo配置详细介绍

initiallizer的博客 3507

​​​​手把手教你玩转RT-Thread操作系统专栏--​​​​第5章 设备驱动开发:RT-Thread的设备框架​​​​5.4 I2C/SPI驱动:如何驱动外部传感器(以MPU6050为例)​

通过本节学习,掌握了基于RT-Thread设备模型的I2C/SPI驱动开发流程,包括硬件初始化、寄存器读写、设备注册及应用程序调用。I2C(Inter-Integrated Circuit)和SPI(Serial Peripheral Interface)是嵌入式系统中最常用的两种串行总线协议,广泛用于连接传感器、存储器等外设。函数通过I2C协议读取外设寄存器的数据(如MPU6050的加速度寄存器)。SPI读取需先拉低片选(CS),发送寄存器地址,再读取数据,最后拉高CS。查找I2C设备,并调用。

xiaoheshang_123的博客 123

《剑指offer》面试题17:合并两个排序链表(java实现)

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。 ——来源于《剑指offer》 循环实现 package com.qianyu.jianzhioffer.connectTwoLinklists; /** * @author lijing * @date 2019-07-29-10:04 * @discription 合并两个有序链表 */ p...

芊雨的博客 274

萤石云cs刷机解绑固件

萤石CS-C2C-32WFR刷机包,萤石CS-C6TC刷机包,萤石CS-C6H刷机包,萤石猫眼产品等等。萤石云摄像头固件修改,绑定手机号解绑,更换序列号教程。

海康威视技术支持 2万+

【剑指Offer学习】【面试题17 ::合并两个排序的链表】

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的

https://github.com/Wang-Jun-Chao 6543

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

[剑指offer]面试题17:合并两个排序的链表

面试题17:合并两个排序的链表 题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。例如输入图3.7中的链表1和链表2,则合并之后的升序链表如链表3所示。链表结点定义如下: struct ListNode { int value; ListNode *next; }; 代码如下: ListNode *Merge(ListNode *pHead1, ListNode *pHead2) { if (pHead1 == nullptr) return pHead2; el

m0_51955470的博客 252

WINCC7.3破解文件

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

剑指Offer面试题17(Java版):合并两个排序的链表

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

D.K专栏 4512

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【一刷《剑指Offer》】面试题 17:合并两个排序的链表

可以选择一个一个节点的归并。可以采用递归来完成。

Elena's Blog 306

剑指Offer:面试题17——合并两个排序的链表

题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路1: 分别用p1,p2两个指针扫描两个有序链表,p3指针去构建新链表h3. p1.val <= p2.val,则p3把p1指向的结点加入h3,p1后移动。反之,对p2进行对应操作。 代码:(未验证正确性,提交时显示超时,所以不知道功能是否实现,还是仅仅时间复杂度高?)public

一个人漫步走 743

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

//递归实现两个链表的合并ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if (pHead1 == NULL) { return pHead2; } else if (pHead2 == NULL) { return pHead1; } ListNod

Steve_Abelieve 363

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

面试题 17:合并两个排序的链表 题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。

我的博客 417

剑指Offer名企面试题17:合并两个排序的链表(Java实现)

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是按照递增排序的。 这道题普通的做法就是:创建一个新的链表,链表的数据分别来自两个排好序的链表,均从链表头部开始遍历,哪个数据小,哪个加入新的链表,当一个表遍历完成,另一个表还有数据,就把另一个表的数据全部加入到新的链表中。这种做法需要判断边界条件,就是当一个链表遍历完成的时候,如何处理。 这里给出这种算法的代码: p...

feinifi的博客 331

剑指Offer:面试题题17 合并两个排序的链表

/* 合并两个排序的链表: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是按照递增排序的。例如输入图中的链表1和 链表2,则合并之后的升序链表入链表3所示 链表1: 1 3 5 7 链表2: 2 4 6 8 链表3: 1 2 3 4 5 6 7 8 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为两个整

qingyuanluofeng的专栏 774

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

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点人是按照递增排序的。解题思路:两个链表分别都已经是有序的了,遍历链表的时候只要比较两个链表当前位置大小,取出最小的添加到新链表中。 可以有递归、循环两种方式来解决。 1 package Solution; 2 3 4 public class No17MergeSortedLists { 5 ...

weixin_30819085的博客 138

《剑指offer》面试题17:合并两个排序的链表

题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。思路:使用递归,将未排序的两个链表继续添加到next上。方法一:递归public ListNode merge(ListNode head1, ListNode head2) { if (head1 == null) return head2; if (head2 == null) return hea...

twostarxx的博客 248
上一篇: 剑指Offer之面试题16:反转链表
下一篇: 剑指Offer之面试题18:树的子结构
沐寒握冰
博客等级 码龄14年 57粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值