合并两个排序的链表【剑指offer——JAVA实现】

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:53   1393   0

考点:递归和循环】合并两个排序的链表

题目描述

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

解题思路

本题可以用递归进行求解。

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode Merge(ListNode list1,ListNode list2) {
        //如果list1遍历完,则直接返回剩余的list2部分
        if(list1 == null) return list2;
        //如果list2遍历完,则直接返回剩余的list1部分
        if(list2 == null) return list1;
        
        if(list1.val <= list2.val) {
            list1.next = Merge(list1.next, list2);
            return list1;
        }else {
            list2.next = Merge(list2.next, list1);
            return list2;
        }
    }
}
更多算法解答请点击 《剑指offer》66题JAVA代码算法实现全集
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP