2、LeetCode之两数相加

给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字0之外,这两个数都不会以0开头。

在这里插入图片描述

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[7,0,8]
解释:342 + 465 = 807.

转载:数据结构:链表及其C++实现

class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
    //头尾节点
        ListNode *head=nullptr,*tail=nullptr;
        int carry=0;
        //不为null就遍历
        while(l1||l2){
        	//获取当前链表节点值
            int n1=l1?l1->val:0;
            int n2=l2?l2->val:0;
            //相加
            int sum=n1+n2+carry;
            if(!head){
            	//为空创建新的头,尾节点
                head=tail=new ListNode(sum%10);
            }else{
            	//不为空值加在尾部
                tail->next=new ListNode(sum%10);
                tail=tail->next;
            }
            carry=sum/10;
            if(l1){
                l1=l1->next;
            }
            if(l2){
                l2=l2->next;
            }
            //最后不为0,就在尾部增加一个新结点
            if(carry>0)
                tail->next=new ListNode(carry);   
        }
        return head;
    }
};

优化减少代码

class Solution {
public:
    ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        ListNode *dummy = new ListNode(0);  // 虚拟头节点
        ListNode *current = dummy;
        int carry = 0;

        while (l1 || l2 || carry) {
            int n1 = l1 ? l1->val : 0;
            int n2 = l2 ? l2->val : 0;
            int sum = n1 + n2 + carry;

            current->next = new ListNode(sum % 10);
            current = current->next;

            carry = sum / 10;

            if (l1) l1 = l1->next;
            if (l2) l2 = l2->next;
        }

        return dummy->next;  // 返回真实的头节点,而非虚拟头节点
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/160855.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker Volume: 实现容器间数据共享与持久化的利器

文章目录 Docker Volume的作用Docker Volume与容器内数据的比较优势劣势 Docker Volume的创建和管理创建Docker Volume管理Docker Volume 演示Docker Volume的挂载Docker Volume的生命周期安全性考虑与Docker Volume应用场景Docker Volume与多容器协作容器迁移与Docker Volume未…

一文带你了解QT Model/View框架的设计思想和实现机制

目录 1、QT Model/View框架简介 1.1、QT Model/View是什么? 1.2、QT Model/View框架核心思想 1.3、Model/View框架工作机制 1.4、Model/View框架的类 2、Model 2.1模型简介 2.2、模型索引 2.3、数据角色 2.4、QStringListModel 2.5、QFileSystemModel 2…

用低代码平台开发应用

低代码一词,有人认为它是第四代编程语言,有人认为它是开发模式的颠覆,也有人认为它是企业管理模式的变革……有很多声音,社区讨论很热烈。 即使这样,至今也有不少人还不知道这项技术,今天笼统的介绍一下低代…

MidJourney笔记(2)-面板使用

MidJourney界面介绍 接着上面的疑问。U1、U2、U3、U4、V1、V2、V3、V4分别代表着什么? U1、U2、U3、U4: U按钮是用于放大图片,数字即表示对应的图片,可以立即生成1024X1024像素大小的图片。这样大家在使用的时候,也方便单独下载。 其中数字顺序如下:

第五届全国高校计算机能力挑战赛-程序设计挑战赛(C++)

代码输出结果题目,自己跟着敲一遍就行了!!! 指针常量和常量指针的区别https://blog.csdn.net/qq_36132127/article/details/81940015?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170027731616800222813804%2522%2…

基于DOTween插件实现金币飞行到指定位置功能

文章目录 前言一、DOTween是什么?二、使用步骤1.导入DOTween插件在Unity官方插件商店找到DOTween插件导入DOTween插件启用DOTween插件 2.代码逻辑金币飞行代码控制飞行效果代码 3.物体配置1.物体上装配CoinEffect脚本2.在金币预制体上装配FlyControl脚本 三、效果展…

CTFHub | Cookie注入,UA注入,Refer注入,过滤空格(利用hackbar插件)

Cookie注入 Cookie 注入原理 Cookie 注入的原理也和其他注入一样,只不过是将提交的参数以 Cookie 方式提交,而一般的注入是使用 GET 或者 POST 方式提交,GET 方式提交就是直接在网址后面加上需要注入的语句,POST 方式则是通过表单…

【自用总结】正项级数审敛法的总结

注:收敛半径的求法就是lim n->∞ |an1/an| ρ,而ρ1/R,最基本的不能忘。 比较判别法:从某项起,该级数后面的项均小于等于另一级数,则敛散性可进行一定的比较 可以看到,比较判别法实际上比较…

解决k8s node节点报错: Failed to watch *v1.Secret: unknown

现象: 这个现象是发生在k8s集群证书过期,重新续签证书以后。 记得master节点的/etc/kubernetes/kubelet.conf文件已经复制到node节点了。 但是为什么还是报这个错,然后运行证书检查命令看一下: 看样子是差/etc/kubernetes/pki/…

【Python/C++ 递归】汉诺塔

汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重…

腾讯智影数字人工具

腾讯智影数字人工具 腾讯智影数字人的形象风格多样,包括写实、卡通等,可以满足不同年龄层观众的喜好。同时,腾讯智影数字人也提供了灵活的驱动方案,可以通过文本或配音直接生成视频,并支持数字人做出与视频一样的动作…

企业如何实现降本增效——数字化转型

说到企业数字化转型,不可避免要围绕企业降本增效。企业们都在积极寻找降本增效解决之道,以实现降本增效的目标。数字化转型也成为了很多企业降本增效的重要手段。通过引入云计算、大数据、人工智能等技术,企业们实现了业务流程的数字化和智能…

YOLOv8-seg改进:注意力系列篇 | 一种简单有效的可变形的自注意力模块DAT | CVPR 2022

🚀🚀🚀本文改进:Deformable Attention Transformer,一种简单有效的可变形的自注意力模块,增强sparse attention 的表征能⼒; 🚀🚀🚀DAT小目标分割&复杂场景首选,实现涨点 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOL…

企业视频数字人有哪些应用场景

来做个数字人吧,帮我干点活吧。 国内的一些数字人: 腾讯智影 腾讯智影数字人是一种基于人工智能技术的数字人物形象,具有逼真的外观、语音和行为表现,可以应用于各种场景,如新闻播报、文娱推介、营销、教育等。 幻…

GMS CTS测试命令汇总

目录 跑CTS之前的准备 样机环境要求 跑各模块版本要求 CTS 简介 复测上轮的失败项 多台设备测试 单跑指定模块和测试用例 GTS VTS STS GSI 获取fingerprint 跑CTS之前的准备 样机环境要求 1、打开stay wake(保持屏幕常亮)、OEM unlocking、…

物联网赋能:WIFI HaLow在无线连接中的优势

在探讨无线网络连接时,我们不难发现,WIFI已经成为我们日常生活中不可或缺的一部分,承载了半数以上的互联网流量,并在家庭、学校、娱乐场所等各种场合广泛应用。然而,尽管WIFI4、WIFI5和WIFI6等协议无处不在&#xff0c…

文心一言-情感关怀之旅

如何让LLM更有温度。 应用介绍

OpenAI 变天:Sam Altman 被踢出局,原 CTO 暂代临时 CEO

文章目录 灵魂人物 Sam Altman 离任 OpenAICEO 下台:OpenAI 也宫斗?个人简介 hello,大家好,我是 Lorin,一觉醒来科技圈发生了一件令人震惊的大事:Sam Altman 被踢出局,原 CTO 暂代临时 CEO。 灵…

基于蛾群算法优化概率神经网络PNN的分类预测 - 附代码

基于蛾群算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蛾群算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蛾群优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

【Mysql】复合查询详解+实战操作(多表查询、自链接、子查询等)

🌈欢迎来到Python专栏 🙋🏾‍♀️作者介绍:前PLA队员 目前是一名普通本科大三的软件工程专业学生 🌏IP坐标:湖北武汉 🍉 目前技术栈:C/C、Linux系统编程、计算机网络、数据结构、Mys…