【LeetCode: 445. 两数相加 II + 链表】

ROS2学习笔记(二)-- 多机通讯原理简介及配置方法 简单介绍ROS2多机通信原理以及配置注意事项 阅读详情

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,优快云-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述
在这里插入图片描述

🚩 题目链接

⛲ 题目描述

给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。

你可以假设除了数字 0 之外,这两个数字都不会以零开头。

示例1:
在这里插入图片描述

输入:l1 = [7,2,4,3], l2 = [5,6,4]
输出:[7,8,0,7]
示例2:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[8,0,7]
示例3:

输入:l1 = [0], l2 = [0]
输出:[0]

提示:

链表的长度范围为 [1, 100]
0 <= node.val <= 9
输入数据保证链表代表的数字无前导 0

进阶:如果输入链表不能翻转该如何解决?

🌟 求解思路&实现代码&运行结果


⚡ 链表

🥦 求解思路
  1. 反转链表:

    • 首先反转两个链表 l1 和 l2,使其从低位到高位存储。
  2. 逐位相加:

    • 使用一个虚拟头节点 ans 和一个指针 cur 来构建结果链表。

    • 遍历两个链表,逐位相加,并处理进位。

    • 如果两个链表都遍历完毕但仍有进位,则需要额外创建一个节点。

  3. 反转结果链表:

    • 将结果链表反转,使其从高位到低位存储。
  4. 返回结果:返回反转后的结果链表。

  5. 有了基本的思路,接下来我们就来通过代码来实现一下。

🥦 实现代码
/**
 * 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) {
        if (l1 == null || l2 == null) return null;
        l1 = reverse(l1);
        l2 = reverse(l2); 
        ListNode ans = new ListNode(-1);
        ListNode cur = ans;
        int add = 0;
        while (l1 != null || l2 != null || add != 0) {
            int num1 = l1 != null ? l1.val : 0;
            int num2 = l2 != null ? l2.val : 0;
            int num = num1 + num2 + add;
            add = num / 10;
            ListNode node = new ListNode(num % 10);
            cur.next = node;
            cur = cur.next;
            if (l1 != null) l1 = l1.next;
            if (l2 != null) l2 = l2.next;
        }
        return reverse(ans.next);
    }

    public ListNode reverse(ListNode root) {
        if (root == null) return null;
        ListNode pre = null;
        ListNode cur = root;
        while (cur != null) {
            ListNode temp = cur.next;
            cur.next = pre;
            pre = cur;
            cur = temp;
        }
        return pre;
    }
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

AI应用质量工程实践:从评估到监控的完整体系构建 在软件工程领域,质量保障体系是确保产品稳定可靠的核心机制,涉及度量指标、保障流程和工具链的完整闭环。随着生成式AI应用的快速发展,如何将传统软件工程中的质量门禁思想引入AI领域,成为工程实践的关键挑战。其核心原理在于构建可量化、可监控、可改进的质量评估框架,通过自动化测试、持续监控和反馈优化来管理AI输出的不确定性。这一技术价值在于将AI应用从原型阶段推向产品化,确保输出的一致性、安全性和可靠性。在实际应用场景中,开发者需要从功能性、非功能性、一致性和合规性四个维度构建评估体系,并借助LLM-as-a-Ju 阅读详情

相关推荐

Docker 与容器技术的未来:从 OCI 标准到 eBPF 的演进

OCI 的核心目标是创建一个开放的、厂商中立的容器技术标准。这意味着,只要一个容器镜像符合 OCI 镜像格式规范,它就可以在任何符合 OCI 运行时规范的容器运行时上运行。eBPF 是一种革命性的技术,它允许在 Linux 内核中安全地运行沙盒程序,而无需修改内核源代码或加载内核模块。这些程序可以注册到内核中的各种事件点(如网络包到达、系统调用、函数调用/返回),并在事件发生时执行自定义逻辑。核心思想是:在不将数据复制到用户空间的情况下,程序可以直接在内核中处理数据,极大地提高了效率和性能。

专栏 1380

【LeetCode:1071. 字符串的最大公因子 + 模拟 + 最大公约数】

【LeetCode:1071. 字符串的最大公因子 + 模拟 + 最小公倍数】对于字符串 s 和 t,只有在 s = t + t + t + ... + t + t(t 自身连接 1 次或多次)时,我们才认定 “t 能除尽 s”。 给定两个字符串 str1 和 str2 。返回 最长字符串 x,要求满足 x 能除尽 str1 且 x 能除尽 str2 。

Coder_ljw的博客 866

igh ethercat 实时性测试

组备注std(us)max(us)a无锁核,无rt补丁8.38108b锁核+FIFO调度+内存锁定,无rt补丁0.9216c锁核+FIFO调度+内存锁定,+rt补丁0.9922可以看到 a组 使用ethercat不做其他优化,周期抖动非常大,且max能达到 100 多 us;通过 锁核+FIFO调度+内存锁定 进行优化,可以看到 抖动明显降低,且max 为 20 us 左右;

qq_43353632的博客 2308

445.两数相加II(力扣leetcode) 博主可答疑该问题

一、笔记部分 思路: 从后往前加(递归),进一位carry。 终止条件:两个链表都到末尾 返回值:返回已加后的链表和进位标志位 每次进行的操作:相对应位置的节点相加。 这次用递归炸了,因为要遍历到两个链表的最末端,需要两个判断条件,递归有了两个判定条件尽量别用,因为这样用的话容易炸。 修正后的思路:从后往前搞,栈是一个非常有用的东西。 错误点: 这个sum要提出来计算,否则用链表的val是取过余数的肯定不对。 1.定义栈的时候要...

qq_40262372的博客 274

SimSwap复现指引及代码分析【2023有更新】

我的环境!!!😚😚😚 之后会遇到:还会遇到至此环境配置完毕!下面是所需要的checkpoint。至此环境准备结束。先试试环境是否有问题,图片是代码包中给的。我用的是512的checkpoint,无水印,a是源脸,b是目标脸。输出到./output/result_whole_swapsingle.jpg 如图是可以成功换脸的:(为了方便查看将图像裁剪到了128x128) 表示图像预处理,相应的改为也是一样。不加就是对已经面部对齐的图像进行简单的面部交换。 加上就是无水印。 交换一张图片中的所有面孔。

zik的博客 2045

从零开始讲DDR(5)——读懂Datasheet

对于开发人员来说,需要根据实际场景和使用的需要,使用不同厂家,不同型号的DDR,虽然原理上大同小异,但是还是有一些细节上的需要注意的地方,接触一个新的DDR芯片,首先就是需要找到对应的datasheet,而能都读懂datasheet,也是一个硬件工程师的必备技能。

apple_53311083的博客 5217

LeetCode 236. 二叉树的最近公共祖先——Python实现(递归,哈希表)

1、直接用迭代的方法 使用递归的方法,找出二叉树中两个节点的最近公共祖先,分析如下: 对于两个节点p和q的公共祖先r,他们要么在r的同一边,要么在这个节点的两边,因此,只要满足这两个条件即可,也就是说: 只要 f(r.child, p) and f(r.child,q) 成立,这个r就可能是它俩的祖先。换一个角度说,r有两条支线,现在不管p和 q在哪条支线,只要两条支线都为真(即包含目标节点),并且有一个交集,那这个交集这就是公共祖先。 这样的话,我们只要通过 p 和 q 一路标记...

u011412768的博客 752

光学设计仿真软件:Code V_(8).场曲和色差校正

通过以上步骤和代码示例,用户可以更好地理解如何在Code V中进行场曲和色差的校正。这些技术不仅有助于提高光学系统的成像质量,还可以为后续的光学设计提供重要的参考。在实际应用中,用户可以根据具体需求选择合适的校正方法和优化策略,以达到最佳设计效果。

kkchenjj的博客 1783

【链表】【打卡第146道】: leetcode 445. 两数相加 II

1、题目描述 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 2、算法分析 本题求的是两个链表的结点值的相加。 从最后一个结点开始,两个链表的值开始相加。相加后返回一个新的链表。 从链表的结尾相加的。元素是倒叙,毫不疑问使用栈。 ①分别创建两个栈,存储的是两个链表的结点值 ②定义进位为carry为0,遍历栈中的元素 注意:进位为carry =.

CodingLJ 579

FLUENT Meshing Watertight Geometry工作流入门 - 9 生成体网格

总结一下我们学到的东西。讨论体积网格的重要性,并了解生成体积网格的不同方法。还了解体积网格质量的重要性,并学习如何改进它。

B_etter_Man的博客 1万+

STM32入门教程:智能马桶盖控制

通过编写相应的代码,您可以根据需要实现其他功能,例如座圈温度调节和液晶显示屏显示等。初始化配置 首先,使用STM32CubeMX创建一个新的工程,并选择您所使用的STM32单片机型号。智能马桶盖是一种集成了多种功能的智能家居设备,通过控制芯片来实现自动冲水、座圈加热、座圈温度调节等功能。在本教程中,我们将使用STM32系列单片机来控制智能马桶盖的各个功能。以上代码演示了如何通过STM32的GPIO控制引脚来控制智能马桶盖的冲水和座圈加热功能。写代码 接下来,我们将通过编写代码来控制智能马桶盖的各个功能。

2401_85258012的博客 657

【LeetCode】C++ :中等题 - 链表 445. 两数相加 II

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

weixin_44566432的博客 155

PCL 基于视椎体裁剪点云

PCL 基于视椎体裁剪点云

dayuhaitang1的博客 4083

ContextMenuManager:Windows 右键菜单管理,隐藏、新建、排序一次搞定

ContextMenuManager 是一款免费、免安装的 Windows 右键菜单管理工具,绿色便携,双击主程序就能跑。它直接替你操作注册表,你不用碰一行注册表编辑器,专门给不想折腾系统的新手用。 [![ContextMenuManager 右键菜单管理中文主界面](https://raw.gitcode.com/gh_mirrors/co/ContextMenuManager/raw/555

gitblog_00406的博客 375

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【LeetCode】2. 两数相加(链表逆序存储——易) & 445. 两数相加 II(链表正序存储——难:栈)

一、题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 二、解题思路 & 代码 # Definitio

weixin_41888257的博客 767

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

双链表偶数节点求和java_leetcode的算法:两个数相加(2),奇偶表(328),两个数加法II(445),LeetCode,之,面试,链表,两数,II445...

1、两数相加(2)题目描述:【中等题】给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。思路分析:1、此题关键是处理两位相加进位与当前位的确定2、因为两个数字相加会产生进位,所以使用carry来保...

weixin_39705193的博客 207

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

力扣 #445 两数相加 Ⅱ(力扣#2 两数相加进阶版)

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

soldersun的博客 193

leetcode 445. 两数相加 II

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

马金波 141

leetcode - 445. 两数相加 II

leetcode - 445. 两数相加 II

qq_42250642的博客 227

【每日刷题】Day25

1. 除自身以外数组的乘积 2. 删除排序链表中的重复元素Ⅱ 3. 两数相加Ⅱ

2301_78022459的博客 1129

算法---LeetCode 445. 两数相加 II

给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例1:输入:l1 = [7,2,4,3], l2 = [5,6,4]输出:[7,8,0,7]示例2:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[8,0,7]示例3:输入:l1 = [0], l2 = [0]输出:[0]提示:链表的长度范围为 [1, 100]

知北行的博客 227

445. 两数相加

【代码】445. 两数相加。

weiIt123的博客 212

8.21笔记

445. 两数相加 II class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ if not l1 and...

sinat_35325378的博客 140

两数相加 II(leetcode 445)python题解

和leetcode第二题差不多,先把l1,l2反转链表之后相加然后再反转链表时间复杂度:空间复杂度:

weixin_56600336的博客 1026

Leetcode—445.两数相加II【中等】

运行结果 之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

Atticus的博客 852

Leetcode 445. 两数相加 II

【代码】Leetcode 445. 两数相加 II。

JehanRio's Private Blog 639
上一篇: 【LeetCode: 598. 区间加法 II + 脑筋急转弯】
下一篇: 【LeetCode: 922. 按奇偶排序数组 II + 双指针】
硕风和炜
硕风和炜 优质创作者: Java技术领域 优质创作者: Java技术领域
博客等级 码龄7年 2万+粉丝 1024原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

硕风和炜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值