/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode Merge(ListNode list1,ListNode list2) {
if(list1==null && list2 == null){
return null;
}
if(list1 == null){
return list2;
}
if(list2 == null){
return list1;
}
ListNode result = new ListNode(0);
ListNode p1=list1,p2=list2,p3=result;
while(p1!=null||p2!=null){
p3.next=new ListNode(0);
p3=p3.next;
if(p1==null&&p2!=null){
p3.val=p2.val;
p2 = p2.next;
}
if(p2==null&&p1!=null){
p3.val=p1.val;
p1=p1.next;
}
if(p1!=null&&p2!=null){
if(p1.val>p2.val){
p3.val=p2.val;
p2=p2.next;
}else{
p3.val=p1.val;
p1=p1.next;
}
}
p3.next=null;
}
return result.next;
}
}