题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。

1)链表1的头结点的值小于链表2的头结点的值,因此链表1的头结点是合并后链表的头结点。

2)在剩余的结点中,链表2的头结点的值小于链表1的头结点的值,因此链表2的头结点是剩余结点的头结点,把这个结点和之前已经合并好的链表的尾结点链接起来。

代码实现:

public class ListNode{
       int val;
       ListNode next;

       public ListNode(int val){
             this.val=val;
             this.next=null;
       }

       public String toString(){
             StringBuilder sb=new StringBuilder();
             sb.append("[");
             ListNode node=this;
             while(node.next!=null){
                   sb.append(node.val);
                   sb.append(", ");
                   node=node.next;
             }
             sb.append(node.val);
             sb.append("]");
             return sb.toString();
       }
}
public class Solution{
     public static ListNode merge(ListNode node1,ListNode node2){
           if(node1==null){
                return node2;
           }
           if(node2==null){
                return node1;
           }
           ListNode node=null;
           if(node1.val>node2.val){
                 node=node2;
                 node.next=merge(node1,node2.next);
           }else{
                 node=node1;
                 node.next=merge(node1.next,node2);
           }
           return node;
     }

      public static void main(String[] args){
           ListNode node1=new ListNode(1);
           ListNode node2=new ListNode(2);
           ListNode node3=new ListNode(3);
           ListNode node4=new ListNode(4);
           ListNode node5=new ListNode(5);
           ListNode node6=new ListNode(6);
           ListNode node7=new ListNode(7);
           ListNode node8=new ListNode(8);
           node1.next=node3;
           node3.next=node5;
           node5.next=node7;
           node2.next=node4;
           node4.next=node6;
           node6.next=node8;
           System.out.println(node1.toString());
           System.out.println(node2.toString());
           ListNode node=merge(node1,node2);
           if(node!=null){
               System.out.println(node.toString());
           }
 
      }
}

 

 posted on 2018-10-16 20:03  会飞的金鱼  阅读(146)  评论(0)    收藏  举报