news 2026/5/30 6:59:40

0002.两数相加

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
0002.两数相加

题目链接

2. 两数相加 - 力扣(LeetCode)

题目大意

描述:给定两个非空的链表l1l2。分别用来表示两个非负整数,每位数字都是按照逆序的方式存储的,每个节点存储一位数字。

要求:计算两个非负整数的和,并逆序返回表示和的链表。

说明

  • 每个链表中的节点数在范围 [1,100] 内。
  • 0≤Node.val≤9。
  • 题目数据保证列表表示的数字不含前导零。

示例

输入:l1=[2,4,3],l2=[5,6,4]输出:[7,0,8]解释:342+465=807.
输入:l1=[0],l2=[0]输出:[0]

解题思路

思路 1:模拟

模拟大数加法,按位相加,将结果添加到新链表上。需要注意进位和对 10 取余

参考代码

/** * 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; } * } */classSolution{publicListNodeaddTwoNumbers(ListNodel1,ListNodel2){ListNodehead=newListNode(0);ListNodecur=head;// 初始化进位intcarry=0;while(l1!=null||l2!=null||carry!=0){intnum1=(l1!=null)?l1.val:0;intnum2=(l2!=null)?l2.val:0;intsum=num1+num2+carry;carry=sum/10;// 将当前的个位数存入链表中cur.next=newListNode(sum%10);cur=cur.next;// 移动l1和l2的指针if(l1!=null){l1=l1.next;}if(l2!=null){l2=l2.next;}}returnhead.next;}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 6:58:59

Arm Neoverse CSS V3内存加密机制与虚拟化安全解析

1. Neoverse CSS V3内存加密机制深度解析在Armv9-A架构的机密计算生态中,Neoverse CSS V3作为集成化计算子系统,其内存加密实现方式直接关系到虚拟化环境的数据隔离安全性。本文将基于Arm官方技术文档(KA006445),结合芯…

作者头像 李华