zoukankan      html  css  js  c++  java
  • 合并两个有序链表(java实现)

     

    题目:

    将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

    示例:

    输入:1->2->4, 1->3->4
    输出:1->1->2->3->4->4
    看到这个题,让我想起上次写的博客,合并两个有序的数组
    这个题,是链表的合并,这就比较好移动,可以用递归实现链表的拼接
    所以,代码如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    /**
     * Definition for singly-linked list.
     * public class ListNode {
     *     int val;
     *     ListNode next;
     *     ListNode(int x) { val = x; }
     * }
     */
    class Solution {
        public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
            if(l1 == null){
                return l2;
            }
            if(l2 == null){
                return l1;
            }
            ListNode n1 = l1;
            ListNode n2 = l2;
             
            ListNode head = null;
            if(l1.val < l2.val){
                head = l1; // 头就为l1,
                mergeTwoLists(l1.next,l2); //进入下一个节点的判断
            }else{
                head = l2;//头就为l2,
                mergeTwoLists(l1,l2.next);//进入下一个节点的判断
            }
            return head;
        }
    }
  • 相关阅读:
    计算与软件工程作业四
    计算与软件工程作业四(一)
    计算与软件工程作业三
    计算与软件工程作业二
    计算与软件工程作业一
    4.2上机课作业
    java第三次作业
    java第一次作业 2020 3.7
    十三周上机练习
    第十二周作业
  • 原文地址:https://www.cnblogs.com/shoshana-kong/p/14761260.html
Copyright © 2011-2022 走看看