将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

示例:

输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode(int x) { val = x; }* }*/// 方法一:递归方式public static ListNode mergeTwoLists1(ListNode l1, ListNode l2) {ListNode result = null;if (l1 == null) {return l2;}if (l2 == null) {return l1;}if (l1.val <= l2.val) {result = l1;result.next = mergeTwoLists1(l1.next, l2); // 递归} else {result = l2;result.next = mergeTwoLists1(l1, l2.next);}return result;}// 方法二:非递归方式public static ListNode mergeTwoLists2(ListNode l1, ListNode l2) {if (l1 == null) {return l2;}if (l2 == null) {return l1;}ListNode mergeNode = null;if (l1.val <= l2.val) {mergeNode = l1;l1 = l1.next;} else {mergeNode = l2;l2 = l2.next;}ListNode temp = mergeNode;while (l1 != null && l2 != null) {if (l1.val <= l2.val) {temp.next = l1;l1 = l1.next;} else {temp.next = l2;l2 = l2.next;}temp = temp.next;}if (l1 != null) {temp.next = l1;}if (l2 != null) {temp.next = l2;}return mergeNode;}

【算法系列之七】合并两个有序链表相关推荐

  1. 【每日一算法】 合并两个有序链表

    微信改版,加星标不迷路! 每日一算法-合并两个有序链表 作者:阿广 阅读目录 1 题目 2 解析 1 题目 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. ...

  2. java合并两个有序链表_JS实现的合并两个有序链表算法示例

    本文实例讲述了JS实现的合并两个有序链表算法.分享给大家供大家参考,具体如下: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1-> ...

  3. 算法:合并两个有序链表

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

  4. fastreport 打印两个list_Smaller And Smarter Python数据结构:合并两个有序链表

    原创: 老表 简说Python 今日问题 :翻转链表k个相邻结点 """目标:写一段程序,合并两个有序链表例如:输入-> 1->2->3输入-> ...

  5. python合并两个有序列表_Python实现合并两个有序链表的方法示例

    本文实例讲述了Python实现合并两个有序链表的方法.分享给大家供大家参考,具体如下: 思路:先选出第一个节点,然后遍历两个链表,把小的作为当前节点的下一个节点,一直到其中一个链表遍历完,这时候把另一 ...

  6. leetcode 21 java_LeetCode 21. 合并两个有序链表

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

  7. 杂谈——如何合并两个有序链表(时间复杂度为O(n))

    假设本帅博主有链表arr1: int[] arr1 = {1,3,6,8,23,34,56,77,90}; 链表arr2: int[] arr2 = {-90,34,55,79,87,98,123,2 ...

  8. LeetCode 21. 合并两个有序链表(链表)

    上一篇博客:LeetCode 20. 有效的括号(栈.字符串)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.最近萌生了刷LeetCode ...

  9. 合并两个有序链表 图解说明

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

  10. 合并两个有序链表(递归)

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

最新文章

  1. mysql给数据做排名_mysql给数据统计做排名
  2. thymeleaf中的模板布局
  3. 一台电脑部署两个或多个 Hexo 博客(一台电脑使用两个或多个 GitHub 账号)
  4. 爬虫-使用xpath拿36KR的数据-xpath的学习与演练
  5. 计算机应用基础教学反思与改进,中职《计算机应用基础》课程教学反思
  6. ug断开视图断开线的距离_UG编程刀路优化技巧
  7. css高度自适应以及高度塌陷总结
  8. 叙述计算机网络的分类与拓扑结构,计算机的网络中有线网络和无线网络最主要的区别是()。...
  9. C# 如何添加PPT背景(纯色背景、渐变色背景、图片背景)
  10. 搭建图片网站:通过cpolar发布图片网站 3/3
  11. Java Jsp+mysql实现企业财务管理系统(普通职工/管理员 员工、公司资产、经营、费用管理)
  12. 微信ipad协议GO版本 最新不封号
  13. [4月24日] 苦练基本功,事半功倍!
  14. 网络原理(2)——网络开发
  15. 解决RabbitMQ保错 Error: unable to connect to node rabbit@localhost: nodedown
  16. 华为手机信息不弹屏了为什么_华为手机短信不提醒如何解决?四种方法来帮你!...
  17. PMP认证需要多少钱?
  18. HDOJnbsp;nbsp;4104nbsp;nbsp;nbsp;Discount
  19. Arduino ESP32 flash数据存储结构
  20. 万物新生正式登陆纽交所,中国二手交易头号玩家怎样搅动市场?

热门文章

  1. 扫地机器人的特点描写_扫地机器人的特点和作用
  2. UE4打包后如何调试
  3. 实例解析linux内核I2C体系结构(1)
  4. python浮点型数据怎么显示为图片_python数字图像处理(4):图像数据类型及颜色空间转换...
  5. @value 静态变量_Java中的变量——通过示例学习Java编程(4)
  6. Idea报错,但是项目可以正常启动运行
  7. ajax中async_小猿圈web前端之ajax的同步和异步有怎样的区别?
  8. 电脑上怎么做pdf文件_图片怎么输出为PDF文件?两种办法教你,手机电脑都能转...
  9. 【转】人工智能-1.2.2 神经网络是如何进行预测的
  10. C#进阶系列——AOP?AOP!