zoukankan      html  css  js  c++  java
  • 剑指offer系列14---合并两个升序链表

    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 }
  • 相关阅读:
    haproxy frontend 和backend
    haproxy 页面重定向(域名跳转)
    LWP::Simple 模块
    Perl LWP模块
    错误代码: 1582 Incorrect parameter count in the call to native function 'str_to_date'
    perl 面向对象 -> 符号使用
    跨域访问设置
    mysql 主从复制用户权限限制
    错误代码: 1045 Access denied for user 'skyusers'@'%' (using password: YES)
    sync_relay_log
  • 原文地址:https://www.cnblogs.com/noaman/p/5415942.html
Copyright © 2011-2022 走看看