Leetcode-Merge Two Sorted Lists

LiBlog發表於2014-11-29

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.

Solution:

 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) {
 7  *         val = x;
 8  *         next = null;
 9  *     }
10  * }
11  */
12 public class Solution {
13     public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
14         ListNode preHead = new ListNode(0);
15         ListNode end = preHead;
16         while (l1!=null || l2!=null){
17             if (l1==null){
18                 end.next = l2;
19                 break;
20             }
21 
22             if (l2==null){
23                 end.next = l1;
24                 break;
25             }
26 
27             if (l1.val<l2.val){
28                 end.next = l1;
29                 end = l1;
30                 l1 = l1.next;
31             } else {
32                 end.next=l2;
33                 end = l2;
34                 l2 = l2.next;
35             }
36         }
37 
38         return preHead.next;
39     }
40 }

 

相關文章