码迷,mamicode.com
首页 > 编程语言 > 详细

合并两个有序链表(java实现)

时间:2019-04-26 00:24:49      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:public   ext   node   java实现   blog   class   lin   ret   logs   

题目:

 

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

示例:

输入: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; }
 * }
 */
class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if(l1 == null){
            return l2;
        }
        if(l2 == null){
            return l1;
        }
        ListNode n1 = l1;
        ListNode n2 = l2;
        
        ListNode head = null;
        if(l1.val < l2.val){
            head = l1; // 头就为l1,
            mergeTwoLists(l1.next,l2); //进入下一个节点的判断
        }else{
            head = l2;//头就为l2,
            mergeTwoLists(l1,l2.next);//进入下一个节点的判断
        }
        return head;
    }
}

 

 

合并两个有序链表(java实现)

标签:public   ext   node   java实现   blog   class   lin   ret   logs   

原文地址:https://www.cnblogs.com/youdiaodaxue16/p/10771809.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!