zoukankan      html  css  js  c++  java
  • 高质量代码-并和链表

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

    解决:

     1 public class Solution {
     2     //实现了原址并和,复杂度O(n)
     3     public ListNode Merge(ListNode list1,ListNode list2) {
     4         //两个链表有一个为空则返回另一个非空链表
     5         if (list1 == null && list2 == null) {
     6             return null;
     7         } else if (list1 == null) {
     8             return list2;
     9         } else if (list2 == null) {
    10             return list1;
    11         }
    12         //head指向并和链表的头结点,tem指向新增的节点
    13            ListNode head, tem;
    14         //选出两个链表第一个元素大的节点做为新链表的头结点
    15         if (list1.val <= list2.val) {
    16             head = list1;
    17             tem = head;
    18             list1 = list1.next;
    19         } else {
    20             head = list2;
    21             tem = head;
    22             list2 = list2.next;
    23         }
    24         //两个链表中小的元素加入到新链表的尾部,终止条件:两个链表有一个为空
    25         while (list1 != null && list2 != null) {
    26             if (list1.val <= list2.val) {
    27                 tem.next = list1;
    28                 list1 = list1.next;
    29                  tem = tem.next;
    30             } else {
    31                 tem.next = list2;
    32                 list2 = list2.next;
    33                 tem = tem.next;
    34             }
    35         }
    36         //添加剩余未添加的节点
    37         while (list1 != null) {
    38             tem.next = list1;
    39             tem = tem.next;
    40             list1 = list1.next;
    41         }
    42         while (list2 != null) {
    43             tem.next = list2;
    44             tem = tem.next;
    45             list2 = list2.next;
    46         }
    47         tem.next = null;
    48         return head;
    49         
    50     }
    51 }
  • 相关阅读:
    HDU 5090 Game with Pearls
    HDU 1394 Minimum Inversion Number
    HDU 1698 Just a Hook
    POJ 2104 K-th Number
    UVA 1160
    HDU 5895 Mathematician QSC
    HDU 3294 Girls' research
    HDU 3068 最长回文
    PyCharm每日技巧-1
    如何一年考过日语一级
  • 原文地址:https://www.cnblogs.com/gatsbydhn/p/5347020.html
Copyright © 2011-2022 走看看