package zuochengyun.chapter2;
public class Merge {
public static Node merge(Node head1,Node head2) {
if(head1==null||head2==null)
return head1!=null?head1:head2;
Node head=head1.value<head2.value?head1:head2;
Node cur1=head1;
Node cur2=head2;
Node pre=head;
Node next=null;
while(cur1!=null&&cur2!=null){
if(cur1.value>cur2.value){
next=cur2;
pre.next=next;
pre=next;
cur1=cur1.next;
}
else if(cur1.value==cur2.value){
next=cur1;
pre.next=next;
pre=next;
cur1=cur1.next;
cur2=cur2.next;
}
else{
next=cur1;
pre.next=next;
pre=next;
cur1=cur1.next;
}
}
if(cur1!=null)
next.next=cur1;
if(cur2!=null)
next.next=cur2;
return head.next;
}
}