</pre><pre name="code" class="java">/*
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.
*/
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) {
* val = x;
* next = null;
* }
* }
*/
/*
Key to solve:
Use a dummy node, then link merged list ll to dummy node, since two linked list are sorted
if l1<l2 => dummy.next=l1;
else dummy.next=l2;
*/
public class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
//check for base case
if(l1==null) return l2;
if(l2==null) return l1;
if(l1==null && l2==null) return l1;
//delcare a dummy node
ListNode dummy=new ListNode(0);
//delcare a temple ListNode ll
ListNode ll=dummy;
while(l1!=null && l2!=null){
if(l1.val<l2.val){
ll.next=l1;
l1=l1.next;
}else{
ll.next=l2;
l2=l2.next;
}
ll=ll.next;
}
//append any additional elements in the list to merged list
if(l1!=null){
ll.next=l1;
}else{
ll.next=l2;
}
return dummy.next;
}
}
Merge Two Sorted Lists
最新推荐文章于 2022-10-05 16:58:24 发布