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


解题思路 :

1.依据以上两个升序链表进行拼接;
2.先定义一个傀儡节点newHead,用来存储一开始的headA
3.定义一个tmp,用来实现对节点引用的操作
4.要是发现headA.val<headB.val,则tmp.next存储headA,headA继续向前走,tmp也向前走;
5.要是发现headA.val>headB.val,则实现tmp中的next链接此时那个大的数据的节点; 即tmp.next=headB,headB向前走;tmp也向前走;
6.循环实现两个链表的链接,循环出口为当发现有一个head为空,即走完
7.如果headA不为空,tmp.next=headA,实现B链表的最后一个节点的链接
8.如果headB不为空,tmp.next=headB,实现A链表的最后一个节点的链接
9.这样就实现了两个链表的链接啦;

代码如下 :

  //合并两个有序链表public static ListNode mergeTwoLists(ListNode headA, ListNode headB) {ListNode newHead=new ListNode(-1); //定义一个傀儡节点ListNode tmp=newHead; //tmp引用傀儡节点while (headA!=null && headB!=null){if (headA.val<headB.val){tmp.next=headA;headA=headA.next;tmp=tmp.next;}else {tmp.next=headB;headB=headB.next;tmp=tmp.next;}}if (headA!=null){tmp.next=headA;}if (headB!=null){tmp.next=headB;}return newHead.next;}


【Java】leetCode 21 合并两个有序链表相关推荐

  1. [递归|迭代] leetcode 21 合并两个有序链表

    [递归|迭代] leetcode 21 合并两个有序链表 1.题目 题目链接 将两个升序链表合并为一个新的升序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2 ...

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

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

  3. Java实现 LeetCode 21 合并两个有序链表

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

  4. LeetCode 21合并两个有序链表22括号生成

    微信搜索bigsai,回复进群,加入打卡.维护不易,欢迎点赞支持! 合并两个有序列表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...

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

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

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

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

  7. leetcode 21.合并两个有序链表

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

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

    1. 题目 2. 解答 新建一个带有哨兵结点的链表,依次比较两个有序链表的结点值,将较小值的结点插入到新链表后面.直到其中一个比较完毕,将另一个链表剩余的结点全部放到新链表最后面即可.最后,可以删除哨 ...

  9. 81. Leetcode 21. 合并两个有序链表 (排序)

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

最新文章

  1. 自动化测试框架cucumber_BDD测试框架之Cucumber使用入门
  2. P2051 中国象棋
  3. 初识WebSocket
  4. 如何对比_潭酒红潭酱酒对比红花郎怎么样口感如何
  5. 使用localStorage解决浏览器刷新后无法再从vuex中获取数据的问题
  6. Minor【 PHP框架】1.简介
  7. 说普通话时舌头卷不起来是一种什么体验?| 今日最佳
  8. WF4 AttachedPropertiesService
  9. golang协程——通道channel阻塞
  10. 谷歌(Google Chrome)插件安装
  11. Android 创建与解析XML(三)—— Sax方式
  12. 神经网络高维互信息计算Python实现(MINE)
  13. Rust: flat_map、filter_map、for_each
  14. Java面试题全集(上)
  15. 颜色六位码和八位码表示
  16. postgresql中实现按周统计详解
  17. 方便的电商历史价格查询网站asd-price,只需三个字母
  18. 更换ICCID码破解Apple运营商锁策略分析
  19. 试验数据的筛选和质量可视化
  20. 使用dockpanel动态添加picturebox并绑定图片

热门文章

  1. Python设计模式-单例模式
  2. 使用Django开发REST 接口
  3. CSDN实现自动点赞
  4. 使用OpenCV进行图像全景拼接
  5. 机器视觉从发展到成熟,最新技术又有些什么?
  6. 可旋转的2K显示器,写代码逼格要到位,免费包邮送到家
  7. OpenCV中图像修复技术介绍与演示
  8. 攻读计算机视觉和机器学习硕士给我带来了什么?
  9. 干货 | MTCNN实时人脸检测网络详解与代码演示
  10. ACM第一名:基于轨迹感知多模态特征的视频关系检测