news 2026/5/26 0:01:00

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
算法---LeetCode 445. 两数相加 II

1. 题目

原题链接

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

你可以假设除了数字 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

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

2. 题解

这题和 算法—LeetCode 2. 两数相加 有点类似,
可以通过 反转两个链表+调用两数相加的代码来实现

或者使用双栈来逆序

写法1:

classSolution{publicListNodeaddTwoNumbers(ListNodel1,ListNodel2){ListNodep1=reverse(l1);ListNodep2=reverse(l2);ListNodehead=addTwo(p1,p2);returnreverse(head);}publicListNodeaddTwo(ListNodep1,ListNodep2){ListNodedummy=newListNode(0);intcarry=0;ListNodecur=dummy;while(p1!=null||p2!=null||carry!=0){intx=p1==null?0:p1.val;inty=p2==null?0:p2.val;intsum=x+y+carry;ListNodenode=newListNode(sum%10);carry=sum/10;cur.next=node;if(p1!=null){p1=p1.next;}if(p2!=null){p2=p2.next;}cur=cur.next;}returndummy.next;}publicListNodereverse(ListNodehead){if(head==null)returnhead;ListNodecur=head,pre=null;while(cur!=null){ListNodetemp=cur.next;cur.next=pre;pre=cur;cur=temp;}returnpre;}}

参考题解

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 6:16:19

算法---LeetCode 572. 另一棵树的子树

1. 题目 原题链接 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree…

作者头像 李华
网站建设 2026/5/23 18:10:22

力扣234.回文链表-反转后半链表

问题描述 给定一个单链表的头节点 head&#xff0c;判断该链表是否为回文链表。如果是&#xff0c;返回 true&#xff1b;否则&#xff0c;返回 false。 示例 &#xff1a; 输入: head [1,2,2,1] 输出: true输入: head [1,2] 输出: false 进阶&#xff1a; 你能否用 O(n)…

作者头像 李华
网站建设 2026/5/24 14:20:17

专用自动化测试系统赋能飞机系统高效验证与保障

航空工业对安全性、可靠性的要求近乎苛刻&#xff0c;飞机上复杂的综合任务处理系统&#xff08;如航电、飞控、机电管理等&#xff09;的集成验证、性能评估和网络分析&#xff0c;是一项庞大而精密的工程挑战。传统的测试方法往往效率低下、覆盖面有限且易出错。为此&#xf…

作者头像 李华
网站建设 2026/5/24 12:25:17

深入理解C++多态:从概念到原理

深入理解C多态&#xff1a;从概念到原理 一、什么是多态&#xff1f; 多态&#xff08;Polymorphism&#xff09;&#xff0c;顾名思义&#xff0c;就是“多种形态”。在C编程中&#xff0c;它意味着使用同一个接口或函数名&#xff0c;可以执行不同的操作。这大大增强了代码的…

作者头像 李华
网站建设 2026/5/25 0:36:14

HTML 框架:构建网页结构的基础

HTML 框架:构建网页结构的基础 概述 HTML框架(HTML Frames)是HTML文档中用于定义多个子窗口(frame)的容器。它允许在一个HTML文档中嵌入多个独立的HTML页面,每个页面可以在自己的框架中显示。框架的引入是为了解决早期网页设计中布局和内容分离的问题。然而,随着CSS和…

作者头像 李华
网站建设 2026/5/25 0:24:22

2026企业级AI编程工具TOP7:团队协作、安全合规与降本增效的首选

在2025年的AI编程工具市场上&#xff0c;企业级需求正成为竞争焦点。数据显示&#xff0c;全球开发者AI工具使用率已攀升至73%&#xff0c;而企业团队在选择时考虑的核心因素已经从个人效率&#xff0c;转向了团队协作、安全合规与成本控制。01 企业转型&#xff1a;当AI成为团…

作者头像 李华