leetcode 热题 100_两数相加

题解一:

        迭代:首先判断整数0,然后分别遍历两段链表,将对应位数的值相加并存入新链表,再遍历新链表,将节点值val>=10的减10,并且其下一节点值val+=1。需要注意最后一位节点进位是将下一位节点值设置为1。

class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        if (l1.val == 0 && l1.next == null) return l2;//判断0
        else if (l2.val == 0 && l2.next == null) return l1;

        ListNode result = new ListNode();
        
        ListNode temp = result;//相加
        while (l1 != null && l2 != null) {
            temp.next = new ListNode();
            temp.next.val = (l1.val + l2.val);
            l1 = l1.next;
            l2 = l2.next;
            temp = temp.next;
        }
        while (l1 != null) {
            temp.next = new ListNode();
            temp.next.val = l1.val;
            l1 = l1.next;
            temp = temp.next;
        }
        while (l2 != null) {
            temp.next = new ListNode();
            temp.next.val = l2.val;
            l2 = l2.next;
            temp = temp.next;
        }


        temp = result.next;//进位
        while (temp != null) {
            if (temp.val >= 10) {
                temp.val -= 10;
                if (temp.next != null) {
                    temp.next.val++;
                } else {
                    temp.next = new ListNode();
                    temp.next.val = 1;
                    temp.next.next = null;
                    break;
                }
            }
            temp = temp.next;
        }

        return result.next;
    }
}

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

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

相关文章

电脑丢失msvcr120.dll文件怎么办-丢失msvcr120.dll文件的五种解决方法

今天有看到小伙伴们在问msvcr120.dll文件是什么,所以今天的这篇文章将给大家科普msvcr120.dll文件是什么,msvcr120.dll文件在电脑系统中的重要性,如果你的电脑中出现了关于msvcr120.dll文件丢失的问题,也可以参考这篇文章&#xf…

记录 Dubbo+Zookeeper 学习Demo

DubboZookeeper ZookeeperZookeeper 下载可能出现的问题 辅助程序下载dubbo-admin项目打包工程打包常见问题 SpringBoot集成Dubbo项目依赖定义服务接口服务端实现服务端配置依赖代码实现 消费端实现服务端配置依赖代码实现 启动 结合Dubbo官网学习如何完成SpringBootDubboZooke…

springBoot整合Redis(三、整合Spring Cache)

缓存的框架太多了,各有各的优势,比如Redis、Memcached、Guava、Caffeine等等。 如果我们的程序想要使用缓存,就要与这些框架耦合。聪明的架构师已经在利用接口来降低耦合了,利用面向对象的抽象和多态的特性,做到业务代…

Cesium ion 简介

Cesium ion SaaS 是一个强大、可扩展且安全的 3D 地理空间数据平台。可以上传您的数据,Cesium ion 会将其优化为 3D Tiles,并将其托管在云端,并将其流式传输到任何设备。 Cesium ion 包括访问精选的全球 3D 内容,包括 Cesium Wor…

jeecg 项目 springcloud 项目有一个模块 没加载进来 只需要 把这个模块放到 可以加载到模块的位置 刷新依赖

springcloud 项目有一个模块 没加载进来 只需要 把这个模块放到 可以加载到模块的位置 刷新依赖

04-自媒体文章-自动审核

自媒体文章-自动审核 1)自媒体文章自动审核流程 1 自媒体端发布文章后,开始审核文章 2 审核的主要是审核文章的内容(文本内容和图片) 3 借助第三方提供的接口审核文本 4 借助第三方提供的接口审核图片,由于图片存储到minIO中&…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的零售柜商品检测软件(Python+PySide6界面+训练代码)

摘要:开发高效的零售柜商品识别系统对于智能零售领域的进步至关重要。本文深入介绍了如何运用深度学习技术开发此类系统,并分享了全套实现代码。系统采用了领先的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5进行了性能比较,呈现了诸如…

算法学习系列(四十):贡献法

目录 引言概念一、孤独的照片二、牛的基因学三、字串分值 引言 关于这个贡献法考的不是很多,主要题型是出现在需要枚举每一个组合这类题,出现的次数较多。没有固定的模板,就是一种思想,跟贪心一样,每个题都是不一样的…

基于opencv的手势识别

当然可以,下面是一个使用OpenCV实现简单手势识别,并在摄像头捕捉的视频中描绘出手部轮廓为线条的示例。该代码会读取摄像头流,然后检测出手部,并用线条描绘出手的轮廓。 首先,你需要安装OpenCV库。如果你还没有安装&am…

C# 第三方曲线库及其特点

在 C# 中,有几个第三方库可以用于绘制曲线图,每个库都有自己的特点和优势。以下是一些常见的 C# 第三方曲线库及其特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.LiveC…

普通人也能年入百万的超级秘籍!2024超级机会,低薪人的第二事业

一、选对行业与把握时机尤为关键。 入场时机的选择,往往决定了你的起跑线。那些在行业赛道上升期便早早布局的人,无疑占据了极大的优势。想象一下,你置身于一个市场需求持续增长、发展空间巨大的行业,成功的机会自然大增。比如现…

Parade Series - WebRTC ( < 300 ms Low Latency )

Parade Series - FFMPEG (Stable X64) C:\Conda\parading-cam>ffmpeg -f dshow -i video"Surface Camera Front" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -an -rtsp_transport tcp -f rtsp://127.0.0.1:8554/cam0801

生存预后不显著?最佳阈值来帮你!| 附完整代码 + 注释

大家在进行生存预后分析时发现结果不显著,是不是当头一棒!两眼一黑!难不成这就代表我们的研究没意义吗?NONONO!别慌!说不定还有救!快来看看最佳阈值能不能捞你一把! 对生存分析感兴趣…

DAY by DAY 史上最全的Linux常用命令汇总----man

man是按照手册的章节号的顺序进行搜索的。 man设置了如下的功能键: 功能键 功能 空格键 显示手册页的下一屏 Enter键 一次滚动手册页的一行 b 回滚一屏 f 前滚一屏 q 退出man命令 h 列出所有功能键 /word 搜索word字符串 注意&#xff1a…

多数问题求解之蒙特卡洛与分治法

多数问题(Majority Problem)是一个有多种求解方法的经典问题,其问题定义如下: 给定一个大小为 n n n的数组,找出其中出现次数超过 n / 2 n/2 n/2的元素 例如:当输入数组为 [ 5 , 3 , 5 , 2 , 3 , 5 , 5 ] […

Qt 如何搭建Lua的运行环境

一、Lua简介 Lua 是一种强大的、高效的、轻量级的、可嵌入的脚本语言。它支持过程(procedural)编程、面向对象编程、函数式编程以及数据描述。Lua 是动态类型的,运行速度快,支持自动内存管理,因此被广泛用于配置、脚本…

java-集合工具类Collections

我们在使用它的时候记得导包 常见API 我们就简单看看第一第二个方法,代码如下,其余的知道用就行

基于经验模式分解和小波阈值的自适应降噪研究_杨铮

目的 针对轴承信号在采集过程中容易受到不同环境下噪声干扰,提出EMD分解结合小波阈值的自适应降噪的方法,对轴承振动信号进行降噪处理,提取出所需要的振动信号。方法 首先对含有噪声的轴承信号进行EMD分解,得到n个IMF并进行小波阈…

GUROBI之数学启发式算法Matheuristics

参考运小筹的帖子:优化求解器 | Gurobi 数学启发式算法:参数类型与案例实现 - 知乎 (zhihu.com) 简言之,数学启发式是算法就是数学规划和启发式算法的融合,与元启发式算法相比,数学启发式算法具有更强的理论性。 在GUR…

C++初阶

1.缺省参数 给缺省参数的时候,不能声明,定义同时给,只能声明的时候给缺省参数,同时给程序报错; 2.函数重载 C语言不允许同名函数的存在,函数名不能相同,C引入函数重载,函数名可以…
最新文章