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 class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if(l1!=null && l2!=null){
ListNode p=l1;
ListNode q=l2;
// ListNode temp= new ListNode(0);
ListNode r= new ListNode(0);
ListNode head=r;
while(p!=null && q!=null)
{
if(p.val<=q.val)
{
ListNode temp= new ListNode(p.val);
p=p.next;
r.next=temp;
r=temp;
r.next=null;
// temp.next=null;
}
else{
ListNode temp= new ListNode(q.val);
q=q.next;
r.next=temp;
r=temp;
r.next=null;
}
}
if(p!=null) {
r.next=p;
}
if(q!=null){
r.next=q;
}
return head.next;
}
else if(l1!=null){
return l1;
}else return l2;
}
}