zoukankan      html  css  js  c++  java
  • 合并两个有序链表(剑指offer-16)

    题目描述
    输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

    解答
    方法1:递归

     1 /*
     2 public class ListNode {
     3     int val;
     4     ListNode next = null;
     5 
     6     ListNode(int val) {
     7         this.val = val;
     8     }
     9 }*/
    10 public class Solution {
    11     public ListNode Merge(ListNode list1,ListNode list2) {
    12         if(list1 == null) return list2;//递归终止条件
    13         if(list2 == null) return list1;//递归终止条件
    14         if(list1 == null && list2 == null) return null;//递归终止条件
    15         ListNode head = null;
    16         if(list1.val>=list2.val){
    17             head = list2;
    18             list2.next = Merge(list1,list2.next);}
    19         else{
    20             head = list1;
    21             list1.next = Merge(list1.next,list2);}
    22         return head;
    23     }
    24 }


    图片引用自:https://blog.csdn.net/fengpojian/article/details/81384130

    方法2:迭代

     1 /*
     2 public class ListNode {
     3     int val;
     4     ListNode next = null;
     5 
     6     ListNode(int val) {
     7         this.val = val;
     8     }
     9 }*/
    10 public class Solution {
    11     public ListNode Merge(ListNode list1,ListNode list2) {
    12         ListNode head = new ListNode(-1);
    13         ListNode cur = head;
    14         while (list1 != null && list2 != null) {
    15         if (list1.val <= list2.val) {
    16             cur.next = list1;
    17             list1 = list1.next;
    18         } else {
    19             cur.next = list2;
    20             list2 = list2.next;
    21         }
    22         cur = cur.next;
    23         }
    24         if (list1 != null)
    25             cur.next = list1;
    26         if (list2 != null)
    27             cur.next = list2;
    28         return head.next;
    29     }
    30 }
  • 相关阅读:
    java List转换为字符串并加入分隔符的一些方法总结
    jackson 实体转json 为NULL或者为空不参加序列化
    马云告别演讲
    Linux chmod命令
    Linux执行shell脚本的方法
    2019第36周日
    2019第36周六
    eclipse中的maven插件
    SpringBoot要点之使用Actuator监控
    eclipse隐藏的列编辑
  • 原文地址:https://www.cnblogs.com/yzhengy/p/13225901.html
Copyright © 2011-2022 走看看