本文主要解释“Python如何添加两个数字”。本文的解释简单明了,易学易懂。接下来,请跟随边肖的思路一起学习和学习“Python是如何将两个数字相加的”!
00-1010标题描述
给出两个非空链表来表示两个非负整数。其中,它们各自的数字存储顺序相反,每个节点只能存储一个数字。
如果我们将这两个数字相加,将返回一个新的链表来表示它们的总和。
你可以假设,除了数字0,这两个数字都不会以0开头。
输入:(2-4-3) (5-6-4)
输出:7-0-8
原因:342 465=807
解决方案思维
其实这个问题比较简单,无非是两个链表之间的同级数的相加。唯一需要注意的是,如果相加后的数字大于10,则下一级需要为1,当前数列为个位数。基本上是一个可以解决的循环。再注意处理。如果一个链表的长度比另一个链表的边界处理长,剩下的就可以了。
JS版
/**
*@param{ListNode}l1
*@param{ListNode}l2
* @返回{列表节点}
*/constadtwounds=(L1,L2)={ 0
letl3=null
letcache=0
lettens=0
while(L1 | | L2){ 0
lettotal=0
if(L1){ 0
letl1Head=l1.val
总计=l1Head
l1=l1.next}
if(L2){ 0
letl2Head=l2.val
总计=l2Head
l2=l2.next}
total=tensif(total=10)
总计-=10
tens=1
}else{
tens=0
}
letnode=newListNode(总计)
if(缓存){ 0
cache.next=节点
cache=node}else{
l3=节点
缓存=l3}
}
if(tens===1){ 0
cache.next=newListNode(1)
}
返回3}TS版本
classListNode{
val :数字
下一个:列表节点|任何
构造函数(值: number){ 0
this.val=valuethis.next=null
}}
/**
*@param{ListNode}l1
*@param{ListNode}l2
* @返回{列表节点}
*/constadtwounds=(l 1: listnode,l 2: listnode)={ 0
letl3:null |列表节点=null
letcache: listnode | null=null
lettens:number=0
while(L1 | | L2){ 0
lettotal:number=0
if(L1){ 0
letl1Head=l1.val
总计=l1Head
l1=l1.next}
if(L2){ 0
letl2Head=l2.val
总计=l2Head
l2=l2.next}
total=tensif(total=10)
总计-=10
tens=1
}else{
tens=0
}
letnode=newListNode(总计)
if(缓存){ 0
cache.next=节点
cache=node}else{
l3=节点
缓存=l3}
}
if(tens===1){ 0
cache.next=newListNode(1)
}
返回3}PY版本
#明确链接列表。# class listnode : # def _ _ init _ _(self,x): # self . val=x # self . next=non class solution :
默认两个数字(自身,l 1:列表节点,l 2:列表节点)-列表节点:
'''
:类型1:列表节点
:类型2:列表节点
:rtype:ListNode列表节点
'''
l3=无
缓存=0
tens=0
while 1 RLL 2:
总计=0
ifl1:
l1Head=l1.val
总计=总计l1Head
l1=l1.next
ifl2:
l1Head=l2.val
总计=总计l1Head
l2=l2 .下一步
总计=总张力总计=10:
总计=总计-10
tens=1
else:
tens=0
节点=列表节点(总数)
ifcache:
cache.next=节点
cache=nodeelse:
l3=节点
cache=l3iftens==1:
cache.next=ListNode(1)
返回3感谢您的阅读。以上就是“如何在Python中添加两个数字”的内容。学习完这篇文章,相信你对Python中如何两个数相加有了更深的理解,具体用法还需要通过实践来验证。在这里,边肖将为您推送更多关于知识点的文章,敬请关注!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/106523.html