package listnode;
/**
* @author Gavenyeah
* @date Start_Time:2016年4月1日 下午15:01:47
* @date End_Time:2016年4月1日 下午15:23:41
*/
public class MergeSeqList {
public static void main(String[] args) {
Node head1=SortList.insertSortList(ListNode.getSingleList());
Node head2=SortList.insertSortList(ListNode.getSingleList());
head1=new MergeSeqList().mergeTwoLists(head1, head2);
ListNode.printList(head1);
}
public Node mergeTwoLists(Node l1, Node l2) {
Node head=null;
if(l1==null){//先判断两个链表是否为空
return l2;
}
if(l2==null){
return l1;
}
if(l1.data<=l2.data){
head=l1;
l1=l1.next;
}else{
head=l2;
l2=l2.next;
}
Node temp=head;
while(l1!=null&&l2!=null){
if(l1.data<=l2.data){
temp.next=l1;
l1=l1.next;
}else{
temp.next=l2;
l2=l2.next;
}
temp=temp.next;
}
if(l1!=null){
temp.next=l1;
}
if(l2!=null){
temp.next=l2;
}
return head;
}
}
代码中调用的Node类和ListNode类,代码详见
Java单链表基本操作(一)–顺序查找