每日一题---力扣剑指Offer 25.合并两个排序的链表

简介: 每日一题---力扣剑指Offer 25.合并两个排序的链表

分析

Java中虽没有指针,但Java对象中却有着指针的影子,同样可以利用指针的一些性质,这是因为java的基础类型存放在栈中,对象存放在堆中。这样就可以根据一个对象来改变另一个对象的值,所以我们需要两个链表,一个进行返回,一个进行操作。

代码

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
        ListNode addList = new ListNode(0);
        ListNode temp = addList;
        while (true) {
            /**
             * 如果其中一个链表为空,则下面的值应该等于另外一个链表
             */
            if (l1 == null) {
                temp.next = l2;
                l2 = null;
                return addList.next;
            } else if (l2 == null) {
                temp.next = l1;
                l1 = null;
                return addList.next;
                /**
                 * 判断大小,然后赋值
                 */
            } else if (l1.val < l2.val) {
                temp.next = l1;
                temp = temp.next;
                l1 = l1.next;
            } else {
                temp.next = l2;
                temp = temp.next;
                l2 = l2.next;
            }
        }
    }

消耗


相关文章
|
5天前
|
Java C语言
剑指offer(牛客)——合并两个排序的链表
剑指offer(牛客)——合并两个排序的链表
7 1
|
5天前
|
存储 Java C语言
剑指offer(牛客)——从尾到头打印链表
剑指offer(牛客)——从尾到头打印链表
9 1
|
5天前
|
索引
每日一题:力扣328. 奇偶链表
每日一题:力扣328. 奇偶链表
13 4
|
6天前
leetcode代码记录(移除链表元素
leetcode代码记录(移除链表元素
10 0
【每日一题】LeetCode——反转链表
【每日一题】LeetCode——反转链表
【每日一题】LeetCode——链表的中间结点
【每日一题】LeetCode——链表的中间结点
|
20天前
|
C++
[leetcode 链表] 反转链表 vs 链表相交
[leetcode 链表] 反转链表 vs 链表相交
|
27天前
|
算法 DataX
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
二叉树(中)+Leetcode每日一题——“数据结构与算法”“剑指Offer55-I. 二叉树的深度”“100.相同的树”“965.单值二叉树”
|
28天前
|
算法 定位技术
【leetcode】剑指 Offer II 105. 岛屿的最大面积-【深度优先DFS】
【leetcode】剑指 Offer II 105. 岛屿的最大面积-【深度优先DFS】
17 0
|
29天前
【力扣】148. 排序链表
【力扣】148. 排序链表