【Java】力扣_每日一题_445.两数相加 II_中等

k-shape时间序列聚类实战:从理论到tslearn实现 本文深入探讨了k-shape时间序列聚类算法,从核心原理到tslearn库的实战应用。k-shape通过标准化互相关系数衡量序列形状相似性,专注于识别波动模式而非绝对数值。文章详细介绍了算法流程、Python环境搭建、数据预处理、最佳K值确定方法,并通过完整代码示例展示了模型训练与结果可视化,帮助读者掌握这一强大的“形状捕手”工具。 阅读详情

题目链接:https://leetcode-cn.com/problems/add-two-numbers-ii/

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

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

进阶:

如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。

第一次编辑代码:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        int num1 = 0;
        int num2 = 0;
        while(l1 != null){
            num1 = num1*10 + l1.val;
            l1 = l1.next;
        }
        while(l2 != null){
            num2 = num2*10 + l2.val;
            l2 = l2.next;
        }
        int sum = num1 + num2;
        if(sum == 0)
            return new ListNode(0);
        ListNode ans = null;
        while(sum != 0){
            ListNode newNode = new ListNode(sum%10);
            newNode.next = ans;
            ans = newNode;
            sum /= 10;
        }
        return ans;
    }
}

提交结果
解答错误。

反思
不能表示大于int型的数。

第二次编辑代码:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode num1 = null;
        ListNode num2 = null;
        while(l1 != null){
            ListNode newNode1 = new ListNode(l1.val);
            newNode1.next = num1;
            num1 = newNode1;
            l1 = l1.next;
        }
        while(l2 != null){
            ListNode newNode2 = new ListNode(l2.val);
            newNode2.next = num2;
            num2 = newNode2;
            l2 = l2.next;
        }

        ListNode sum = null;
        int carry = 0;
        while(num1 != null && num2 != null){
            int temp = num1.val + num2.val + carry;
            carry = temp/10;
            temp %= 10;
            ListNode newNode3 = new ListNode(temp);
            newNode3.next = sum;
            sum = newNode3;
            num1 = num1.next;
            num2 = num2.next;
        }
        while(num1 != null){
            int temp = num1.val+carry;
            carry = temp/10;
            temp %= 10;
            ListNode newNode4 = new ListNode(temp);
            newNode4.next = sum;
            sum = newNode4;
            num1 = num1.next;
        }
        while(num2 != null){
            int temp = num2.val+carry;
            carry = temp/10;
            temp %= 10;
            ListNode newNode5 = new ListNode(temp);
            newNode5.next = sum;
            sum = newNode5;
            num2 = num2.next;
        }
        if(carry != 0){
            ListNode newNode6 = new ListNode(carry);
            newNode6.next = sum;
            sum = newNode6;
        }
        return sum;
    }
}

反思
有代码更简练的写法,用栈,不过效率不高,这里参考@Sweetiee的写法。

第三次编辑代码:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        Stack<Integer> stack1 = new Stack<>();
        Stack<Integer> stack2 = new Stack<>();
        while(l1 != null){
            stack1.push(l1.val);
            l1 = l1.next;
        }
        while(l2 != null){
            stack2.push(l2.val);
            l2 = l2.next;
        }

        int carry = 0;
        ListNode head = null;

        while(!stack1.isEmpty() || !stack2.isEmpty() || carry > 0){
            int sum = carry;
            sum += stack1.isEmpty() ? 0 : stack1.pop();
            sum += stack2.isEmpty() ? 0 : stack2.pop();
            ListNode node = new ListNode(sum%10);
            node.next = head;
            head = node;
            carry = sum/10;
        }
        
        return head;
    }
}
压缩包密码破解工具ZIP Cracker2.0.1.2 正式版 一款多功能文件密码破解工具,支持ZIP、RAR、Office等主流加密格式,提供CPU/GPU双模式破解。该软件采用黑客风格界面,具备环境自检修复功能,支持实时监控硬件使用率。内置hashcat等专业破解工具,通过拖拽文件即可快速破解,GPU模式速度可达CPU的10-100倍。最新版本优化了中文路径支持,并提升了启动速度。 阅读详情

相关推荐

MMDetection框架入门教程(完全版)

  网上MMDetection的教程看似有很多,但感觉都不成系统,看完一圈下来还是不知道MMDetection要怎么用。这里还是推荐直接跟着官方教程,结合源码学习MMDetection,相关链接汇总如下: 官方教程 - MMCV 官方教程 - MMDetection 官方教程 - 不得不知的 MMDetection 学习路线(个人经验版) 西安交大课件 - mmdetection教程(使用篇)   本文会介绍如何在MMDetection中从头开始搭建一套属于自己的算法。前几篇博客算是本人学习过...

Sual 10万+

Java实现 LeetCode 445 两数相加 II

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

南 墙 1万+

Codex CLI 接入智谱 GLM-5.1 完整教程

Codex CLI 是 OpenAI 推出的命令行 AI 编程工具,支持自主读取文件、执行命令、编写代码等操作,是目前最火的终端 AI 编程工具之一。通过 CLIProxyAPI 代理,我们成功将 Codex CLI 与智谱 GLM-5.1 模型对接,核心在于解决 Responses API 与 Chat Completions API 的协议转换问题。✅成熟稳定:CLIProxyAPI 社区活跃(4.7k fork),持续维护✅完整兼容:支持流式/非流式、function calling✅低成本。

u011831527的博客 2573

LeetCode445. 两数相加 II

445. 两数相加 II 题目链接 解法一:两个栈存储链表元素,依次遍历 l1,l2,依次遍历 stackL1、stackL2,头结点插入生成新链表,carry 标志进位 public ListNode addTwoNumbers(ListNode l1, ListNode l2) { Stack<Integer> stackL1 = new Stack<>...

码农在途的博客 1238

Maxwell中铜导体热损计算的关键步骤与技巧

本文详细介绍了在Maxwell软件中准确计算铜导体热损的关键步骤与实用技巧。重点阐述了如何正确设置涡流场求解器、启用涡流效应、根据工作频率计算并应用肌肤深度以指导网格剖分,以及准确施加激励和定义电流回路。文章还强调了使用温度相关材料属性和进行后处理验证的重要性,旨在帮助工程师获得可靠的热损计算结果,优化产品设计。

weixin_29232121的博客 493

AWS S3文件上传性能优化:Java SDK多线程与分段上传实战指南

本文详细介绍了如何通过Java SDK优化AWS S3文件上传性能,重点讲解多线程并发上传与分段上传(Multipart Upload)技术的实战应用。通过动态调整分段策略、线程池配置及内存优化技巧,可显著提升大文件上传效率,实测显示组合方案比单线程上传提速近5倍。文章还涵盖加密上传、断点续传等高级场景解决方案,并提供了完整的性能对比测试数据。

d6e7f8的博客 1016

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

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

Coder_ljw的博客 1081

用Python+PyTorch实现DQN无人机避障:从环境搭建到实战训练(附完整代码)

本文详细介绍了如何使用Python和PyTorch框架,基于深度强化学习中的DQN算法,实现一个无人机自主避障系统。内容涵盖从自定义环境搭建、DQN智能体核心算法实现,到完整的训练流程与超参数调优,并提供了可视化演示与进阶优化方向,为开发者提供了从理论到实践的完整指南。

kubernetes8ctl的博客 638

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

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

tankpanv的博客 256

FOFA奇技淫巧:从搜索语法到实战场景的深度挖掘

本文深入探讨了FOFA搜索语法在网络空间测绘中的高效应用,从基础语法到实战场景的深度挖掘。通过渗透测试、威胁狩猎、资产发现等实际案例,展示了如何利用FOFA精准定位目标系统、识别蜜罐、追踪威胁,并提供了合规使用指南和性能优化技巧,助力安全工作者提升效率。

weixin_32428571的博客 235

YOLOv12超参数智能优化:基于内置Ray Tune的自动化调优实战指南

购买即可解锁300+YOLO优化文章,并且还有海量深度学习复现项目,价格仅需两杯奶茶的钱,别人有的本专栏也有! 目标检测模型的性能瓶颈往往源于超参数配置不当。传统手动调优方式不仅耗时耗力,且难以找到全局最优解。YOLOv12集成的Ray Tune框架为解决这一难题提供了完整方案,通过分布式异步优化算法,可实现超参数搜索效率的指数级提升。实际测试表明,采用Ray Tune自动调优的YOLOv12模型,在COCO数据集上mAP指标平均提升3.8%,收敛速度加快2.1倍。在VisDrone无人机数据集上的跨域测试

LXY_LOVE36的博客 118

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

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

_淡泊宁静的博客 343

Android影像系统架构专家面试指南

传音控股招聘影像系统架构专家,要求8年以上开发经验,5年架构设计经验,精通Android Camera开发及性能优化。该职位需负责手机影像软件架构设计、技术选型及跨平台适配,重点解决"快稳省"体验优化。面试评估聚焦三大维度:技术方面考察HAL层架构设计、多帧合成优化等能力;系统开发关注低光降噪等场景的算力平衡;团队管理侧重跨部门协作与项目交付。候选人需展现对CamX-CHI等架构的深入理解,具备量化分析性能指标的能力,并能主导旗舰机影像项目全周期落地。

郑伟强dev的专栏 938

leetcode 445. 两数相加 II java

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

qq_23858785的博客 264

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

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

leetcode每日一题.445:两数相加II

题目描述: 给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers-ii 著作权归领扣网络所有。商业转载请联系官方授权,非商业...

FarStars的博客 326

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

weixin_30535043的博客 121

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

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

IronmanJay 343

LeetCode_Q445_两数相加 II

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

田磊的博客 170

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

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

new_whiter的博客 283

每日一题:Leetcode-两数相加 II(链表)

力扣题目解题思路java代码。

LIUCHANGSHUO的博客 602

(链表专题) 445. 两数相加 II ——【Leetcode每日一题】

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

weixin_43412762的博客 1088

445. 两数相加 II

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

Wzideng@qq.com 179

力扣 中等 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 之外,这两个数字都不会以零开头。 解题思路: 思路1:把两个链表代表的数字先算出来,然后相加,最后用一个新链表表示。 写完之后运行发现,当数据过大时,会超出数据定义范围。 思路2:把两个链表的每一位数据入栈,然后再每位出栈相加,最后得到一...

syc233588377的博客 748

算法修炼之路——【链表】Leetcode 445 两数相加 II

文章目录题目描述思路分析边界条件考虑解题代码复杂度分析进阶GitHub源码 题目描述 给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新链表。 你可以假设除了数字0之外,这两个数字都不会以零开头。 示例1: 输入: listA = [7, 2, 4, 3]; listB = [5, 6, 4] 输出: [7, 8, 0, 7] ...

技术更新每天 438
上一篇: 【Java】力扣_每日一题_面试题01.07.旋转矩阵_中等
下一篇: 【校招】面试_科大讯飞_Java开发工程师
includei
博客等级 码龄9年 406粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值