LeetCode(21):Merge Two Sorted Lists

Merge Two Sorted Lists: 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.

题意:合并两个有序的链表,并返回新的链表。

思路:使用双指针,分别指向两个链表,然后比较大小依次加入新的链表,最后将不为空的链表加入到新的链表尾部。

代码:

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
            ListNode p1= l1;
             ListNode p2= l2;
             
             ListNode fakeHead = new ListNode(0);
             ListNode p = fakeHead;
             while(p1!=null && p2!=null){
                 if(p1.val <= p2.val){
                     p.next = p1;
                     p1 = p1.next;
                 }else{
                     p.next = p2;
                     p2 = p2.next;
                 }
                 p = p.next;
             }
             if(p1!=null) p.next = p1;
             if(p2!=null) p.next = p2;
         
            return fakeHead.next;
    }
posted @ 2016-01-15 20:48  Lewisr  阅读(125)  评论(0编辑  收藏  举报