当前位置:网站首页>LeetCode_2(两数相加)
LeetCode_2(两数相加)
2022-07-05 13:51:00 【***】
题目描述:
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例 1:
输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[7,0,8]
解释:342 + 465 = 807.
示例 2:
输入:l1 = [0], l2 = [0]
输出:[0]
示例 3:
输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:[8,9,9,9,0,0,0,1]
提示:
每个链表中的节点数在范围 [1, 100] 内
0 <= Node.val <= 9
题目数据保证列表表示的数字不含前导零
/**
* 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 head=null,l=null; //创建头节点和指针节点
int flag=0; //进位标志
while(l1!=null||l2!=null){
//遍历两个单链表
int n1=l1!=null?l1.val:0; //取出第一个链表当前节点的值,若当前节点为空,则补零
int n2=l2!=null?l2.val:0; //同上
int cur=n1+n2+flag; //计算结果链表应当填入的值
if(head==null){
//若为第一个值,则创建节点并连接头指针
l=new ListNode(cur%10);
head=l;
}else{
//创建新节点填入结果并将指针后移
l.next=new ListNode(cur%10);
l=l.next;
}
flag=cur/10; //判断是否需要进位
if(l1!=null)l1=l1.next; //指针后移前判断一下,以免指针异常
if(l2!=null)l2=l2.next;
}
if(flag>0)l.next=new ListNode(flag);
return head;
}
}
边栏推荐
- Laravel框架运行报错:No application encryption key has been specified
- PHP generate Poster
- These 18 websites can make your page background cool
- Deep copy is hard
- Set up a website with a sense of ceremony, and post it to the public 2/2 through the intranet
- Nantong online communication group
- 我为什么支持 BAT 拆掉「AI 研究院」
- UE source code reading [1]--- starting with problems delayed rendering in UE
- matlab学习2022.7.4
- Multi person cooperation project to see how many lines of code each person has written
猜你喜欢
Can graduate students not learn English? As long as the score of postgraduate entrance examination English or CET-6 is high!
TortoiseSVN使用情形、安装与使用
Usage, installation and use of TortoiseSVN
内网穿透工具 netapp
Redis6 master-slave replication and clustering
荐号 | 有趣的人都在看什么?
[server data recovery] a case of RAID5 data recovery stored in a brand of server
龙芯派2代烧写PMON和重装系统
Those things I didn't know until I took the postgraduate entrance examination
Wonderful express | Tencent cloud database June issue
随机推荐
Etcd database source code analysis -- rawnode simple package
redis6主从复制及集群
PHP basic syntax
Intranet penetration tool NetApp
TortoiseSVN使用情形、安装与使用
Controller in laravel framework
Integer = = the comparison will unpack automatically. This variable cannot be assigned empty
49. 字母异位词分组:给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。
2022年机修钳工(高级)考试题模拟考试题库模拟考试平台操作
Record in-depth learning - some bug handling
Internal JSON-RPC error. {"code":-32000, "message": "execution reverted"} solve the error
Self built shooting range 2022
Simple PHP paging implementation
What is information security? What is included? What is the difference with network security?
Operational research 68 | the latest impact factors in 2022 were officially released. Changes in journals in the field of rapid care
What happened to the communication industry in the first half of this year?
Multi person cooperation project to see how many lines of code each person has written
Network security HSRP protocol
Elk enterprise log analysis system
STM32 reverse entry