1. 程式人生 > >Java單鏈表基本操作(八)--合併兩個有序單鏈表

Java單鏈表基本操作(八)--合併兩個有序單鏈表

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; } }