题解 | #合并两群能量值#

合并两群能量值

https://www.nowcoder.com/practice/d728938f66ac44b5923d4f2e185667ec

import java.util.*;

/*
 * public class ListNode {
 *   int val;
 *   ListNode next = null;
 *   public ListNode(int val) {
 *     this.val = val;
 *   }
 * }
 */

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param l1 ListNode类
     * @param l2 ListNode类
     * @return ListNode类
     */
    public ListNode mergeEnergyValues (ListNode l1, ListNode l2) {
        // write code here
        ListNode dummy = new ListNode(0);
        ListNode cur = dummy;

        while (l1 != null && l2 != null) {
            if (l1.val >= l2.val) {
                cur.next = l1;
                l1 = l1.next;
            } else {
                cur.next = l2;
                l2 = l2.next;
            }
            cur = cur.next;
        }

        // 将剩余的节点直接添加到新链表的末尾
        cur.next = l1 != null ? l1 : l2;

        // 返回新链表的头节点
        return dummy.next;
    
    }
}

题目考察的知识点:

包括链表操作和合并有序链表。

解题方法分析:

这道题目要求合并两个有序链表,并且合并后的链表也要保持有序。我们可以使用双指针法来实现。

  1. 创建一个虚拟头节点dummy,并用一个指针cur来表示当前节点,初始时指向虚拟头节点。
  2. 使用一个循环,遍历两个链表l1l2,比较当前l1l2节点的值,将较小的值的节点接在cur节点的后面。
  3. 然后将cur指针移动到新添加的节点上,同时将较小节点的指针向后移动一位。
  4. 重复步骤2和步骤3,直到其中一个链表遍历完毕。
  5. 最后,将未遍历完的链表的剩余部分直接连接到合并链表的末尾。
  6. 返回新链表的头节点,即dummy.next

这样,通过比较节点的值,逐步连接节点,就能够实现合并两个有序链表的操作。

代码中使用了一个dummy节点作为新链表的起始,然后通过比较l1l2节点的值,逐步连接节点,直到其中一个链表遍历完毕。最后,将剩余的节点连接到合并链表的末尾,返回新链表的头节点。

全部评论

相关推荐

搜索部 首先说下timeline8.18,投递8.19,约一面8.21,晚上一面call约二面8.22,上午二面下午oc周末等待(8.23,8.24)8.25,offer一年前,我还是懵懵懂懂,高考完的暑假,只会提前学学高数,未来的画像是什么?我或许无法预测。开学后,自学Python,接单,无数个客户的ddl,偷偷摸摸一个人找自习的地方,这一步步竟然为后来的我,搭建工程能力的基础。大一上,我也要感谢我的第一位老板,让我接触到了实习,师兄带着我一步步入门,看他们写的飞书文档。大一下,导师带我参与企业项目,这让我渐渐发现,应该去实践,增长见识,而非局限当下,盯着自己的小新pro。不久后,第一波投递开始,结果当然是约面极少。盯着简历上的文字和ssob,我开始思考,确实很多可以去提升。带着些许不甘心,继续沉淀,慢慢的约面也越来越多,有的时候两天7场,准备完就接着下一个日程。这一次,也许是刚好到位吧,比较match,面试答的流利,关关难关关过,成为度孝子展望未来,依然是重重挑战,果然只有收到offer的那一刻是开心的。愿在百度星海拆解的每一段代码,都能成为丈量宇宙的诗行;此志终赴星河,而今迈步重铸天阶。屏幕前的你们,在无数个向星海奔赴的日夜,一定一定,会在未来化作群星回响的征程——请永远相信此刻埋首耕耘的自己!!!
一天三顿半:???百度提前批发 offer了?不是统一和正式批排序完再发吗我靠
百度求职进展汇总
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务