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

合并两群能量值

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

大家好,我是开车的阿Q,自动驾驶的时代已经到来,没时间解释了,快和阿Q一起上车。作为自动驾驶系统工程师,必须要有最好的C++基础,让我们来一起刷题吧。

题目考察的知识点

这道题目考察的是链表的合并和排序,需要注意链表的有序性。

题目解答方法的文字分析

我们可以使用合并排序的思想来合并这两个非递增链表。通过比较两个链表的当前节点,逐步选择较大的节点放入新链表中,直到其中一个链表为空。

具体步骤如下:

  1. 创建一个新链表的头节点 dummy,以及一个指向新链表当前节点的指针 cur,初始时两者都指向 nullptr
  2. 使用一个循环遍历两个链表,比较当前节点的值,选择较大的节点添加到新链表中,并将指针移动到下一个节点。
  3. 循环结束后,可能其中一个链表还没有遍历完,将剩余的节点连接到新链表的末尾。
  4. 返回新链表的头节点 dummy->next,即为结果链表。

本题解析所用的编程语言

C++

完整且正确的编程代码

/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *next;
 *	ListNode(int x) : val(x), next(nullptr) {}
 * };
 */
class Solution {
public:
    ListNode* mergeEnergyValues(ListNode* l1, ListNode* l2) {
        ListNode* dummy = new ListNode(-1); // 创建一个虚拟头节点
        ListNode* cur = dummy; // 当前节点指针

        // 合并排序
        while (l1 && l2) {
            if (l1->val >= l2->val) {
                cur->next = l1;
                l1 = l1->next;
            } else {
                cur->next = l2;
                l2 = l2->next;
            }
            cur = cur->next;
        }

        // 连接剩余的节点
        if (l1) cur->next = l1;
        if (l2) cur->next = l2;

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

这个代码使用合并排序的思想,通过遍历两个非递增链表,比较当前节点的值并选择较大的节点添加到新链表中。最后,将剩余的节点连接到新链表的末尾,得到合并后的非递增链表。

您的关注、点赞、收藏就是我创作的动力,三连支持阿Q!

阿Q的题解 文章被收录于专栏

阿Q秋招刷过的题

全部评论

相关推荐

搜索部 首先说下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
收藏
分享

创作者周榜

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