首页 > 其他 > 详细

LeetCode-Merge Two Sorted Lists

时间:2016-04-30 00:54:53      阅读:200      评论:0      收藏:0      [点我收藏+]
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.

Analysis

The key to solve the problem is defining a fake head. Then compare the first elements from each list. Add the smaller one to the merged list. Finally, when one of them is empty, simply append it to the merged list, since it is already sorted.

 

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        ListNode p1=l1;
        ListNode p2=l2;
        
        ListNode dummy=new ListNode(-1);
        ListNode pd=dummy;
        while(p1 != null && p2 != null){
            if(p1.val < p2.val){
                pd.next=p1;
                p1=p1.next;
            }
            else{
                pd.next=p2;
                p2=p2.next;
            }
            pd=pd.next;
        }
        if(p1 != null){
            pd.next=p1;
        }
        else if(p2 != null){
            pd.next=p2;
        }
        return dummy.next;
    }
}

  

LeetCode-Merge Two Sorted Lists

原文:http://www.cnblogs.com/incrediblechangshuo/p/5447909.html

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