zoukankan      html  css  js  c++  java
  • 【链表】合并两个排序的链表

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

     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 
    13         if (null == list1 && null == list2) {
    14             return null;
    15         }
    16 
    17         if (null == list1 && null != list2) {
    18             return list2;
    19         }
    20 
    21         if (null == list2 && null != list1) {
    22             return list1;
    23         }
    24 
    25         ListNode head = null; // 合并后的头节点
    26 
    27         ListNode p1 = null; // 遍历list1的指针
    28         ListNode p2 = null; // 遍历list2的指针
    29         ListNode p = null; // 指向当前合并后的链表的尾节点
    30 
    31         // 确定头节点
    32         if (list1.val < list2.val) {
    33             head = list1;
    34             p1 = list1.next;
    35             p2 = list2;
    36         } else {
    37             head = list2;
    38             p1 = list1;
    39             p2 = list2.next;
    40         }
    41         
    42         p = head;
    43 
    44         // 遍历和比较list1和list2,将较小值加入新的链表
    45         while (null != p1 && null != p2) {
    46             if (p1.val > p2.val) {
    47                 p.next = p2;
    48                 p2 = p2.next;
    49             } else {
    50                 p.next = p1;
    51                 p1 = p1.next;
    52             }
    53             p = p.next;
    54         }
    55 
    56         // 其中一个链表遍历完毕,直接将另一个链表添加到新链表尾
    57         if (null == p1) {
    58             p.next = p2;
    59         }
    60 
    61         if (null == p2) {
    62             p.next = p1;
    63         }
    64 
    65         return head;
    66     
    67     }
    68 }
  • 相关阅读:
    欧几里得 与 扩展欧几里得
    hdu-1559 最大子矩阵
    hdu-1081 To The Max (最大子矩阵和)
    Oracle处理排序问题
    报表犯的错误
    MySQL中汉字一二三排序问题
    MySQL复习
    帆软查看显示和填报显示
    MySQL某年查询12个月份的数据
    mysql中去日期格式
  • 原文地址:https://www.cnblogs.com/jiangyi-uestc/p/5878191.html
Copyright © 2011-2022 走看看