noaman_wgs

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

14【题目】输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
*  【思路】依次比较两个链表头指针,小者作为合并后的头指针,依次比较,使用递归。

 1 package com.exe3.offer;
 2 
 3 /**
 4  * 14【题目】输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
 5  *   【思路】依次比较两个链表头指针,小者作为合并后的头指针,依次比较,使用递归。
 6  * @author WGS
 7  *
 8  */
 9 public class MergeLinkList {
10     public static class LinkNode{
11         int val;
12         LinkNode next=null;
13         public LinkNode(){
14             
15         }
16         public LinkNode(int n){
17             this.val=n;
18         }
19     }
20     public LinkNode getMergeLinkList(LinkNode headnode1,LinkNode headnode2){
21         if(headnode1==null){
22             return headnode2;
23         }else if(headnode2==null){
24             return headnode1;
25         }
26         LinkNode headNodeOfMergeLinkList=null;
27         
28         if(headnode1.val<headnode2.val){
29             headNodeOfMergeLinkList=headnode1;
30             headNodeOfMergeLinkList.next=getMergeLinkList(headnode1.next,headnode2);
31         }else{
32             headNodeOfMergeLinkList=headnode2;
33             headNodeOfMergeLinkList.next=getMergeLinkList(headnode1,headnode2.next);
34         }
35         
36         
37         
38         
39         return headNodeOfMergeLinkList;
40         
41             
42     }
43     public static void main(String[] args){
44         LinkNode node11=new LinkNode(1);
45         LinkNode node12=new LinkNode(3);
46         LinkNode node13=new LinkNode(5);
47         LinkNode node14=new LinkNode(7);
48         node11.next=node12;node12.next=node13;node13.next=node14;
49         
50         LinkNode node21=new LinkNode();
51         LinkNode node22=new LinkNode();
52         LinkNode node23=new LinkNode();
53         LinkNode node24=new LinkNode(18);
54         node21.next=node22;node22.next=node23;node23.next=node24;
55         
56         LinkNode node=new MergeLinkList().getMergeLinkList(node11, node21);
57         while(node!=null){
58             System.out.println(node.val);
59             node=node.next;
60         }
61     }
62     
63     
64     
65     
66     
67     
68     
69     
70     
71 }

 

posted on 2016-04-21 10:29  noaman_wgs  阅读(281)  评论(0编辑  收藏  举报