题目:

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

知识点:

-无

注意:

  • 以后写代码前要在开头写出特殊的输入情况
  • 递归认真考虑好输入和输出

代码实现:

定义2个指针pHead1、pHead2,依次比较两链表中的值的大小,放入新链表

/*合并链表*/
ListNode* Merge(ListNode* pHead1, ListNode* pHead2)
{   ListNode* mergeNode = nullptr;//特殊情况if (pHead1 == nullptr) {return pHead2;}else if (pHead2 == nullptr){return pHead1;}else if (pHead1 == nullptr && pHead2 == nullptr) {return nullptr;}else {//比较链表1和2对应数的大小if (pHead1->m_nValue < pHead2->m_nValue) {mergeNode = pHead1;mergeNode->m_pNext = Merge(pHead1->m_pNext, pHead2);}else {mergeNode = pHead2;mergeNode->m_pNext = Merge(pHead1, pHead2->m_pNext);}return mergeNode;}
}int main()
{   ListNode* pNode1 = CreateListNode(1);ListNode* pNode3 = CreateListNode(3);ListNode* pNode5 = CreateListNode(5);ConnectListNodes(pNode1, pNode3);ConnectListNodes(pNode3, pNode5);PrintList(pNode1);ListNode* pNode2 = CreateListNode(2);ListNode* pNode4 = CreateListNode(4);ListNode* pNode6 = CreateListNode(6);ConnectListNodes(pNode2, pNode4);ConnectListNodes(pNode4, pNode6);PrintList(pNode2);ListNode* MergeNode = Merge(pNode1, pNode2);PrintList(MergeNode);getchar();return 0;
}

剑指offer——25.合并两个排序的链表相关推荐

  1. 《LeetCode力扣练习》剑指 Offer 25. 合并两个排序的链表 Java

    <LeetCode力扣练习>剑指 Offer 25. 合并两个排序的链表 Java 一.资源 题目: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 示例1: ...

  2. LeetCode Algorithm 剑指 Offer 25. 合并两个排序的链表

    剑指 Offer 25. 合并两个排序的链表 Ideas 这题让我想到了归并排序: 划分问题:把序列分成元素个数尽量相等的两半: 递归求解:把两半元素分别排序: 合并问题:把两个有序表合并成一个. 捞 ...

  3. 【LeetCode】剑指 Offer 25. 合并两个排序的链表

    [LeetCode]剑指 Offer 25. 合并两个排序的链表 文章目录 [LeetCode]剑指 Offer 25. 合并两个排序的链表 一.递归 二.伪头节点 总结 一.递归 思路: 如果有一个 ...

  4. 剑指offer系列——剑指 Offer 25. 合并两个排序的链表

    ⭐️前面的话⭐️ 大家好!本篇文章将介绍关于数据结构之链表的OJ题,来自力扣:21. 合并两个有序链表 或 剑指 Offer 25. 合并两个排序的链表 题解,展示代码语言暂时为:Java语言与C语言 ...

  5. 【最佳解法】剑指 Offer 25. 合并两个排序的链表

    立志用最少的代码做最高效的表达 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 示例1: 输入:1->2->4, 1->3->4 输出:1-> ...

  6. 【算法】剑指 Offer 25. 合并两个排序的链表

    文章目录 1.概述 2. 对比 3.递归 1.概述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的. 示例1: 输入:1->2->4, 1->3->4 ...

  7. 剑指offer 25. 合并两个排序的链表

    1.问题描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 2.解决思路 1)非递归的方法     如果可以改变链表,直接从头结点开始依次移动比较两个链 ...

  8. LeetCode-剑指 Offer 25. 合并两个排序的链表

    剑指 Offer 25. 合并两个排序的链表 思路一:双指针法 1.设置dummy为头结点,放置于新链表之前,最后返回的就是dummy.next:设置cur为当前节点,从dummy开始 2.当两个链表 ...

  9. 剑指Offer:合并两个排序的链表【25】

    剑指Offer:合并两个排序的链表[25] 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 题目分析 每次都是比较箭头节点,把小节点连接到已经合 ...

最新文章

  1. 如何写一篇好的技术博客
  2. 干货 | 循环神经网络LSTM的数学过程
  3. Leetcode 130. 被围绕的区域 解题思路及C++实现
  4. php 真实访问次数,PHP将访问次数写入文件下
  5. 复制文件时怎么保留权限
  6. go语言基础到提高(5)-结构
  7. 操作系统学习(三)-- CPU调度
  8. c和JAVA的安全编码_C、C++ 和 Java安全编码实践提示与技巧
  9. easycode 表配置_EasyCode插件使用及模板参考
  10. 从华为“流程与IT管理部”看IT部门定位
  11. c语言中队列的作用,循环队列的实现(C语言)
  12. vue 引入vue-resource给页面加点动态数据
  13. 国产3G之父--------李世鹤
  14. java io 系列(转载skywang12345)
  15. 中文数字阿拉伯数字相互转换(Java版本)
  16. Grid++Report报表开发工具介绍
  17. JAVA:货币金额类型、精确小数类型数值的定义BigDecimal和基本运算操作
  18. DAEFRHDSGYEVHHQKLVFFAEDV|138648-77-8
  19. 像个黑客一样在网络上来无影去无踪之IP代理理论篇
  20. 前端如何实现一键截图功能?

热门文章

  1. 关于项目中一些时间转换的问你题 -紫叶and妍
  2. react native进一步学习(NavigatorIOS 学习)
  3. java_web学习(六) request对象中的get和post差异
  4. java使用POST发送soap报文请求webservice返回500错误解析
  5. 20162305《程序设计与数据结构》第1周学习总结
  6. 解决Python开发过程中依赖库打包问题的方法
  7. mysql主从复制读写分离
  8. 344.Reverse String
  9. Linux 权限设置
  10. HDU4628+状态压缩DP