java数据结构与算法刷题-----LeetCode445. 两数相加 II

【计算机三级-数据库技术】操作题大题(第1套) 从触发器的语法中可知,【1】处应该填写的是执行触发器的表,【2】处应该填写指定在表或视图上执行哪些数据修改语句时将激活触发器的关键字。使用FOR或AFTER选顶定义的触发器为后触发器,即只有在引发触发器执行的语句中的操作都已成功执行,并且所有的约束检查也成功完成后,才执行触发器。转换成新的独立的模式,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。实体的转换:在从ER图转换为关系模式时,一个实体转换成一个关系模式,实体的属性就是关系模式的属性,实体的键就是关系的主键。 阅读详情
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.youkuaiyun.com/grd_java/article/details/123063846

在这里插入图片描述

解题思路
  1. 首先将两个链表翻转过来,让个位成为头结点。
  2. 然后依次相加,保存进位信息,比如5+5 = 10,那么进位就是1. 每次相加,都要考虑上一次的进位信息
  3. 相加后的结果,采用头插法,插入新的链表,这样相加完成后,就正好将链表又翻转了回来。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
代码:时间复杂度O(n+m) 空间复杂度O(n+m)

在这里插入图片描述

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode l1Reverse = reverseList(l1),l2Reverse = reverseList(l2);//反转两个链表
        ListNode ans = new ListNode(0);//保存答案的头结点
        int p = 0;//保存相加后的进位信息
        while(l1Reverse != null && l2Reverse != null){//两个链表依次遍历相加,先将一个链表遍历完成
            int val = l1Reverse.val + l2Reverse.val + p;//两个链表结点相加,再加上进位信息
            p = val/10;//进位
            ans.next = new ListNode(val%10,ans.next);//ans中使用头插法,插入相加后的结果,只保留个位
            l1Reverse = l1Reverse.next;//后移
            l2Reverse = l2Reverse.next;//后移
        }
        ListNode current = l1Reverse == null?l2Reverse:l1Reverse;;//current用来遍历剩下的那个没有遍历完成的链表
        while(current!=null){
            int val = current.val + p;//没有另一个链表,只需要加上进位信息即可
            p = val/10;//进位
            ans.next = new ListNode(val%10,ans.next);//头插法,插入ans中
            current = current.next;//后移
        }
        //最后,如果所有结点遍历完成,还有进位信息。比如9999+1 = 1 0000,会多一位进位,那么也使用头插法插入
        if(p!=0) ans.next = new ListNode(p,ans.next);  
        return ans.next;//返回相加完成的头结点。
    }
    //标准的反转链表代码,可以参考LeetCode206:反转链表
    public ListNode reverseList(ListNode head){
        ListNode pre = null;
        ListNode current = head;
        ListNode next = null;
        while(current!=null){
            next = current.next;
            current.next = pre;
            pre = current;
            current = next;
        }
        return pre;
    }
}
深度学习的卷积神经网络的煤矸石识别 在本博文中,我们提出了一种基于深度学习的煤矸石检测与识别系统,该系统采用YOLOv8算法对煤矸石进行检测和识别,实现对图片中的煤矸石进行准确识别。1.项目需求对煤矸石进行检测与识别,系统将识别出图片中的克服小块煤矸石漏检的缺陷。 2.项目实现 通过调研,本项目最终使用yolov8模型作为目标检测的模型, YOLOv8 旨在快速、准确且易使用,使其成为广泛的物体检测、图像分割和图像分类任务的极佳选择。 1.数据集:格式为jpg的3091张煤矸石图片2.YOLOv8环境配置yolo检测网络包括24个卷积层 阅读详情

相关推荐

周立功CAN盒二次开发实录:用QT5.1.0解析汽车CAN报文(附数据可视化技巧)

本文详细介绍了基于QT5.1.0和周立功USBCAN-E-U设备进行汽车CAN总线二次开发的实战过程。核心内容包括利用CANdb++数据库解析原始报文并转换为物理值,以及通过QCustomPlot库实现高性能实时数据可视化,为车载诊断与车联网开发提供了一套完整的工程实践方案。

sugar的博客 1058

Java实现 LeetCode 445 两数相加 II

445. 两数相加 II 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -&gt...

南 墙 1万+

dify离线部署

以bge-m3为例,本地部署bge-m3首先在一台能连网的linux服务器上(部署有ollama)创建想要保存模型的文件夹编辑ollama.service,配置ollama模型的保存路径添加模型存储地址将models目录设置属主,必须做,否则ollama无法启动重新加载配置文件并重启ollama测试ollama 运行是否正常最后拉取 bge-m3可在/opt/LLMModels/bge_m3/models目录下看到拉取得模型使用tar命令压缩文件夹。

weixin_42538734的博客 3072

Leetcode(java,python题解):445.两数相加II

445.两数相加II 题目描述 Leetcode:https://leetcode-cn.com/problems/add-two-numbers-ii/ 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对...

_淡泊宁静的博客 344

【技术解析】LUT-Fuse:如何通过可学习查找表与蒸馏技术,为边缘设备解锁实时图像融合

本文解析了ICCV 2025提出的LUT-Fuse技术,它通过可学习查找表与知识蒸馏,解决了边缘设备上图像融合的质量、速度与功耗“不可能三角”。该方法将复杂计算预编译为高速查找表,在Jetson等设备上实现100+ FPS的实时红外-可见光图像融合,为无人机、安防等应用提供了高效解决方案。

code8的博客 495

QWEN 2.5模型结构解析与代码解读

对Qwen2.5大模型的代码进行研究

4368

leetcode题:445. 两数相加 II(中等)

一、题目描述:445. 两数相加 II(中等) 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入: (7 -> 2 -> 4 ->...

tankpanv的博客 257

【Allegro学习笔记】常规标贴封装创建-0402封装创建实例

摘要 本文主要介绍如何使用Allegro制作表面贴装封装。 所使用的软件 使用Allegro制作常规贴片封装主要使用的软件有Pad Designer和Allegro 1 0402类封装制作 1.1 0402类封装焊盘分析 0402封装尺寸图如图1...

Honglong 1万+

leetcode 445. 两数相加 II java

leetcode 445. 两数相加 II java 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入: (7 -> 2 -> 4 -> 3) + ...

qq_23858785的博客 264

Unreal 从入门到精通之VR常用操作

本文总结了使用Unreal5开发VR项目时遇到的常见问题及其解决方案。首先,介绍了如何通过VRPawn的TryTeleport函数设置玩家视角位置,确保头显移动时安全区域的正确传送。其次,详细说明了如何在Unreal中播放视频,包括导入视频文件、创建媒体播放器和媒体纹理,并将其应用到3D物体上。接着,讲解了如何播放VR全景视频,建议使用MediaPlate媒体板并调整几何体为球体。最后,讨论了如何手动打开和关闭VR模式,以便在PC模式和头显模式之间切换。这些方法为VR开发提供了实用的技术指导。

TxNet 953

Android 12.0 framework系统修改安兔兔等显示的屏幕尺寸大小功能实现

在12.0的系统rom定制化开发中,在使用第三方app检测系统的一些信息中,比如安兔兔 设备信息等检测app中,有时候显示的屏幕尺寸大小和 产品规格书等信息不同,稍微有些差异,所以就需要看下系统framework层中,相关的设备信息是怎么读出来的,然后做些调整 接下来就来分析相关功能

安卓兼职framework和app工程师的博客 478

LeetCode 445. 两数相加 II(Add Two Numbers II)

445. 两数相加 II 445. Add Two Numbers II 题目描述 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 LeetCode445. Add Two Num...

weixin_30535043的博客 121

从苏宁电器到卡巴斯基(第二部)第01篇:我在卡巴的日子 I

聊聊行业薪酬 我相信不论是谁,如果是入职一家新的公司,那么他最想知道的一件事情就是待遇情况了。这里既包含每月实际能到手多少钱,又包括五险一金是否齐全以及是按照高标准还是低标准缴纳。另外,如果是入职IT公司,还会在意年终奖有多少,毕竟某些富裕的IT企业,每到年末就会以此制造新闻来博取大家的关注,以彰显自身的实力。 一言以蔽之,待遇问题也就是年收入究竟会有多少,也是我们进入职场的人喜欢相互打听的问题。比如我研究生那届最厉害的一位同学,签了A公司的算法岗位,年薪30W+(税前,下同),在当时的我看来就是天价了

Gleam的专栏 1226

4月打卡活动第14天 LeetCode第445题:两数相加2(中等)

4月打卡活动第14天 LeetCode第445题:两数相加2(中等) 题目:给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 解题思路:链表转换为字符串计算。 class Solution { public ListNode addTwoNu...

new_whiter的博客 284

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

leetcode刷题记录

刷题过程记录

洪肥肥的博客 2063

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【LeetCode】445. 两数相加 II

给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 解题思路: 思路1:把两个链表代表的数字先算出来,然后相加,最后用一个新链表表示。 写完之后运行发现,当数据过大时,会超出数据定义范围。 思路2:把两个链表的每一位数据入栈,然后再每位出栈相加,最后得到一...

syc233588377的博客 748

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

LeetCode刷题-递归方法应用

LeetCode刷题-递归方法应用引言LeetCode实例445. 两数相加 II题目描述解决思路代码实现 引言 递归方法是LeetCode刷题中,最常见的方法之一。 递归的原理很简单,每个状态进行操作前,先对上一个状态进行操作。 自身调用,重复迭代。 实际使用中有很多变化,结合实例进行说明。 LeetCode实例 445. 两数相加 II 题目描述 给定两个非空链表来代表两个非负整数。 数字最...

weixin_28959211的博客 363

LeetCode刷题——两数相加 II#445#Medium

两数相加 II的题目如下图,该题属于栈类型和数学类型的题目,主要考察对于数学方法的使用和栈结构的理解。本文的题目作者想到2种方法,分别是栈方法和递归方法,其中栈方法使用Java进行编写,而递归方法使用Python进行编写,当然这可能不是最优的解法,还希望各位大佬给出更快的算法。

喷火龙与水箭龟的博客 286

LeetCode 445. 两数相加 II(链表大数加法)

1. 题目 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4) 输...

Michael是个半路程序员 1589

445. 两数相加 II(java)

445. 两数相加 II 题目描述 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 进阶: 如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。 示例: 输入:(7 -> 2 -> 4 -> 3) + (5 -> ...

m0_37605197的博客 285

[LeetCode]445. 两数相加 II(java实现)

[LeetCode]445. 两数相加 II(java实现)1. 题目2. 读题(需要重点注意的东西)3. 解法4. 可能有帮助的前置习题5. 所用到的数据结构与算法思想6. 总结 1. 题目 2. 读题(需要重点注意的东西) 思路:用栈存储节点值,一边出栈相加一边构建新的链表 3. 解法 迭代法 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next

cloud的博客 136

力扣 中等 445.两数相加 II

首先反转两个链表,再调用 2. 两数相加链接的代码,得到链表,最后将其翻转即可。// l1 和 l2 反转后,就变成【2. 两数相加】了// 翻转链表while (cur!cur = nxt;return pre;// 哨兵节点// 进位while (l1!= 0) { // 有一个不是空节点,或者还有进位,就继续迭代if (l1!// 节点值和进位加在一起if (l2!// 节点值和进位加在一起// 每个节点保存一个数位。

qq_51352130的博客 544

【LeetCode每日一题】——445.两数相加 II

给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。

IronmanJay 343

LeetCode 445. 两数相加 II

给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。 输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4) 输出: 7 -> 8 -> 0 -> 7 /** * Definition for ...

欢迎来到打不死的小强的专栏 272

445. 两数相加 II + (Deque与Stack源码解析)

http://roe.roewudu12.vip/archives/445.-liang-shu-xiang-jia-ii-dequeyu-stackyuan-ma-jie-xi

qq_40957094的博客 131
上一篇: java数据结构与算法刷题-----LeetCode19. 删除链表的倒数第 N 个结点
下一篇: java数据结构与算法刷题-----LeetCode725. 分隔链表
ydenergy_殷志鹏
博客等级 码龄7年 5887粉丝 543原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ydenergy_殷志鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值