首页 > 其他 > 详细

LeetCode[链表] - #21 Merge Two Sorted Lists

时间:2015-07-21 02:10:05      阅读:290      评论:0      收藏:0      [点我收藏+]

原题链接:#21 Merge Two Sorted Lists

?

要求:

合并两个已排序的单向链表,将合并后的结果作为一个链表返回。

ListNode定义:

public class ListNode {
    int val;
    ListNode next;
    ListNode(int x) { val = x; }
}

?

难度:简单

?

分析:

由于两个链表均已排好序,令两个指针指向两个链表的头节点,每次取出两个指针中值较小的一个节点,然后将指针后移。当一个链表遍历完以后,将另一个链表的剩余部分拼接到结果链表的尾部即可。

?

解决方案:

Java - 304ms? ??

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        if(l1==null){
            return l2;
        }
        if(l2==null){
            return l1;
        }
        if(l1.val>l2.val){
            l2.next = mergeTwoLists(l1, l2.next);
            return l2;
        }else{
            l1.next = mergeTwoLists(l1.next, l2);
            return l1;
        }
    }

?简单测试程序

?

LeetCode[链表] - #21 Merge Two Sorted Lists

原文:http://cwind.iteye.com/blog/2228785

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!