当前位置:网站首页>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;
}
}
边栏推荐
- TortoiseSVN使用情形、安装与使用
- Rk3566 add LED
- redis6主从复制及集群
- 蓝桥杯学习2022.7.5(上午)
- Laravel generate entity
- 研究生可以不用学英语?只要考研英语或六级分数高!
- Introduction to Chapter 8 proof problem of njupt "Xin'an numeral base"
- Mmseg - Mutli view time series data inspection and visualization
- ETCD数据库源码分析——rawnode简单封装
- Summit review | baowanda - an integrated data security protection system driven by compliance and security
猜你喜欢
Nantong online communication group
zabbix 监控
几款分布式数据库的对比
Idea set method annotation and class annotation
Anchor navigation demo
Xampp configuring multiple items
Don't know these four caching modes, dare you say you understand caching?
[cloud resources] what software is good for cloud resource security management? Why?
Jetpack compose introduction to mastery
Redis6 transaction and locking mechanism
随机推荐
leetcode 10. Regular Expression Matching 正则表达式匹配 (困难)
laravel-dompdf导出pdf,中文乱码问题解决
redis6数据类型及操作总结
LeetCode_69(x 的平方根 )
Those things I didn't know until I took the postgraduate entrance examination
什么叫做信息安全?包含哪些内容?与网络安全有什么区别?
Zhubo Huangyu: it's really bad not to understand these gold frying skills
Set up a website with a sense of ceremony, and post it to the public 2/2 through the intranet
Usage, installation and use of TortoiseSVN
Request + BS4 crawl Netease cloud music popular comments
Xampp configuring multiple items
Solve the problem of "unable to open source file" xx.h "in the custom header file on vs from the source
The real king of caching, Google guava is just a brother
ETCD数据库源码分析——rawnode简单封装
Don't know these four caching modes, dare you say you understand caching?
Multi person cooperation project to see how many lines of code each person has written
When there are too many input boxes such as input transmitted at one time in the form, the post data is intercepted
[machine learning notes] how to solve over fitting and under fitting
2022司钻(钻井)考试题库及模拟考试
Controller in laravel framework