合并两个排序的链表(代码的鲁棒性 链表)
来源:互联网 发布:如何编写小软件 编辑:程序博客网 时间:2024/06/07 02:31
题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}
思路一:非递归
public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if (list1 == null) return list2; if (list2 == null) return list1; ListNode mergeHead = null; ListNode current = null; while (list1 != null && list2 != null) { if (list1.val <= list2.val) { if (mergeHead == null) mergeHead = current = list1; else { current.next = list1; current = current.next; } list1 = list1.next; } else { if (mergeHead == null) mergeHead = current = list2; else { current.next = list2; current = current.next; } list2 = list2.next; } } if (list1 == null) current.next = list2; else current.next = list1; return mergeHead; }}
思路二:递归
public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if (list1 == null) return list2; if (list2 == null) return list1; if (list1.val <= list2.val) { list1.next = Merge(list1.next, list2); return list1; } else { list2.next = Merge(list1, list2.next); return list2; } }}
阅读全文
0 0
- 合并两个排序的链表:专注代码的鲁棒性.
- 合并两个排序的链表(代码的鲁棒性 链表)
- 《剑指offer》刷题笔记(代码的鲁棒性):合并两个排序的链表
- 链表------合并两个排序的链表
- 剑指offer:合并两个排序的链表 代码实现
- 剑指offer 3.4 代码的鲁棒性2- 合并两个排序的链表
- 剑指offer 17题 【代码的鲁棒性】合并两个排序的链表
- 剑指offer:(17)代码的鲁棒性:合并两个排序的链表
- 两个已排序链表的合并
- 两个已排序链表的合并
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- 合并两个排序的链表
- springcloud-熔断器Hystrix的原理
- sql语句分为三类(DML,DDL,DCL)-介绍
- 把python3小程序打包为exe文件
- Spring boot打包war、jar部署tomcat
- Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题
- 合并两个排序的链表(代码的鲁棒性 链表)
- 226. Invert Binary Tree
- ReactNative—学习资源
- 15.3 Content-MD5:实体校验
- word 图片缩放并居中
- C++ printf
- Java中静态代码块、构造代码块的区别
- eclipse中java代码关联到mybatis的xml文件
- n皇后问题求解