合并有序链表 递归方式合并链表pHead1,pHead2
base case是 pHead1为空或者pHead2为空

递归方式是
如果pHead1->val < pHead2->val 则
pHead1结点作为新链表的头结点,即mergeNode = pHead1;
同时pHead1->next继续向下递归,因为pHead1->next这个节点也有可能小于pHead2
mergeNode->next = Merge(pHead1->next, pHead2);

否则即else 相反处理pHead2

/*
struct ListNode {
int val;
struct ListNode *next;
ListNode(int x) :
val(x), next(NULL) {
}
};*/
class Solution {
public:
ListNode* Merge(ListNode* pHead1, ListNode* pHead2) {
//递归合并 if(!pHead1) return pHead2;
if(!pHead2) return pHead1;
if(!pHead1 && !pHead2) return NULL;
ListNode* mergeNode = NULL;
if(pHead1->val<pHead2->val)
{
mergeNode = pHead1;
mergeNode->next = Merge(pHead1->next, pHead2); //继续比较下一个结点
}
else
{
mergeNode = pHead2;
mergeNode->next = Merge(pHead1,pHead2->next);
}
return mergeNode;
}
};

刷题日记-JZ25合并有序链表的更多相关文章

  1. leecode刷题(21)-- 删除链表的倒数第N个节点

    leecode刷题(21)-- 删除链表的倒数第N个节点 删除链表的倒数第N个节点 描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2- ...

  2. leecode刷题(20)-- 删除链表中的节点

    leecode刷题(20)-- 删除链表中的节点 删除链表中的节点 描述: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = ...

  3. 代码题(14)— 合并有序链表、数组、合并K个排序链表

    1.21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出 ...

  4. LeetCode第二十一题-对两个有序链表排序

    Merge Two Sorted Lists 问题简介:合并两个已排序的链表并将其作为新链表返回 举例: 输入: 1->3->5, 1->2->4 输出: 1->1-&g ...

  5. [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 t ...

  6. Leetcode | 刷题日记(1)

    本文记录个人刷题记录 推荐两个刷题网站: 地址:https://leetcode.com/ 另外一个地址:http://www.lintcode.com/ 1.Write a SQL query to ...

  7. 【Warrior刷题笔记】143.重排链表 【线性化 || 双指针+翻转链表+链表合并】详细注释

    题目一 力扣143.重排链表 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reorder-list/ 1.描述 给定一个单链表L的头节点he ...

  8. 剑指OFFER之合并有序链表(九度OJ1519)

    题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则.(hint: 请务必使用链表.) 输入: 输入可能包含多个测试样例,输入以EOF结束.对于每个测 ...

  9. 21. Merge Two Sorted Lists (Java 合并有序链表 空间复杂度O(1))

    题目: Merge two sorted linked lists and return it as a new list. The new list should be made by splici ...

随机推荐

  1. sonar扫描java项目报错

    安装maven 配置path 验证maven,看到以下信息证明已经成功 扫描项目 扫描以下项目: kf-buss-nhgip-smartoffice-business-thirdparty 项目的配置 ...

  2. django forms的常用命令及方法(一)

    根据别人网上发布,个人爱好收集 Form表单的功能 自动生成HTML表单元素 检查表单数据的合法性 如果验证错误,重新显示表单(数据不会重置) 数据类型转换(字符类型的数据转换成相应的Python类型 ...

  3. python3.7+flask+alipay 支付宝付款功能

    文档参考github:https://github.com/fzlee/alipay/blob/master/docs/init.md 沙箱环境配置:https://opendocs.alipay.c ...

  4. Git:分布式版本控制系统

    参考廖雪峰的 Git 教程:https://www.liaoxuefeng.com/wiki/896043488029600  讲解很详细,这里只做一些个人笔记: 各系统安装 Git :https:/ ...

  5. 关于panic ,主协程的recover 是无法获取 子协程的panic 的

    一.子协程的panic,只能在子协程中处理 下面的代码,main 函数 无法获取panic package main import ( "fmt" "time" ...

  6. 【.NET 与树莓派】气压传感器——BMP180

    BMP180 是一款数字气压计传感器,实际可读出温度和气压值.此模块使用 IIC(i2c)协议.模块体积很小,比老周的大拇指指甲还小:也很便宜,一般是长这样的.螺丝孔只开一个,也有开两个孔的. 这货基 ...

  7. Vue router中携带参数与获取参数

    Vue router中携带参数与获取参数 携带参数 query方式,就是?+&结构,例如/login?id=1 <router-link :to="{ name:'login' ...

  8. 国庆总结:echarts自定义颜色主题,保证你看的明明白白

    为什么需要使用颜色主题 随着用户审美越来越高,不再是过去那样只注重功能. 所以对界面的颜色样式都具有一定的审美要求 此时颜色是否好看就非常重要了 因为人都是视觉动物 对界面的第一印象肯定都是颜色. 如 ...

  9. Winfrom窗体初始化和窗体Load方法前后

    运行结果为 [窗体初始化之前!]>[窗体初始化!]>[窗体Load!]

  10. 试题 历届试题 翻硬币 java题解

    问题描述 小明正在玩一个"翻硬币"的游戏. 桌上放着排成一排的若干硬币.我们用 * 表示正面,用 o 表示反面(是小写字母,不是零). 比如,可能情形是:**oo***oooo 如 ...