算法--合并两个排序的链表
程序员文章站
2022-06-28 16:29:16
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。示例1输入{1,3,5},{2,4,6}返回值{1,2,3,4,5,6}在线链接代码:public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1 == null ){ return list2; }...
题目描述
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
示例1
输入
{1,3,5},{2,4,6}
返回值
{1,2,3,4,5,6}
在线链接
代码:
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
if(list1 == null ){
return list2;
}
if(list2 == null){
return list1;
}
ListNode dumpy = new ListNode(0);
ListNode help = dumpy;
while (list1 != null || list2 != null){
if(list1 != null && list2 != null){
if(list1.val < list2.val){
help.next = list1;
list1 = list1.next;
help = help.next;
}else {
help.next = list2;
list2 = list2.next;
help = help.next;
}
}
if(list1 == null){
help.next = list2;
break;
}
if(list2 == null){
help.next = list1;
break;
}
}
return dumpy.next;
}
}
思路概述:
如此反复,如果一个链表提前为空,则把help的next指针直接指向另一个链表投即可。
最后返回dumpy的next结点
本文地址:https://blog.csdn.net/weixin_43105156/article/details/110285775
推荐阅读
-
求算法:书库里面有很多小弟我没有读过的书,小弟我希望通过某种方法推算出假设的排序结果-假设小弟我读过所有的书
-
算法题:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
-
PHP版本常用的排序算法汇总_php实例
-
PHP版本常用的排序算法汇总,
-
C++实现LeetCode(160.求两个链表的交点)
-
php分割合并两个字符串的函数实例_php技巧
-
C#经典排序算法的图文代码详解(下)
-
php常用的排序算法与二分法查找 二分法排序 c++二分法排序 二分法插入排
-
【转载】C#的Merge方法合并两个DataTable对象的数据
-
Python合并两个字典的常用方法与效率比较