Leetcode2 两数相加 Python
2024-10-20 15:53:08
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例:
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807
题目介绍还是比较简单,这个题也比较简单,需要注意的就是:
- 保持链表完整性,一定要使最后的Next的值为none
2.进位问题,相加可能会有进位
最后官方的题解也不能用python3 过题,建议python2,至于原因我一晚上也没弄明白!
class Solution(object):
def addTwoNumbers(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
p = l1
q = l2
res = ListNode(0)
r = res
s = 0 # 进位
# 当然也可以做成带头结点返回为res.next即可
while(p!=None or q!=None):
p_v = 0 if p==None else p.val
q_v = 0 if q==None else q.val
r_v = (p_v+q_v+s)%10
s = (p_v+q_v+s)//10
r.next = ListNode(r_v)
r = r.next
r.next = None
# 如果不为None的时候继续遍历,否则停止遍历
p =p if p==None else p.next
q =q if q==None else q.next
if s !=0:
r.next = ListNode(s)
r = r.next
r.next = None
return res.next
最新文章
- Atitit rss没落以及替代品在线阅读器
- 【学习篇:他山之石,把玉攻】JavaScript Date() 对象 及 格式化
- Position、Float
- java中的URLConnection和HttpURLConnection
- JQuery+Ajax制作省市联动
- css案例学习之ul li dl dt dd实现二级菜单
- 托管服务帐号(Managed Service Account)
- NSIS:检查某注册表键是否存在
- Angular随笔第二课
- 开源框架SmartImageView的使用
- JAVA_SE基础——14.循环结构语句
- Flask-WTForms 简单使用
- php实现斐波那契数列
- @jsonProperty 实现返回自定义属性名字
- NOIP2016提高组Day1T2 天天爱跑步 树链剖分 LCA 倍增 差分
- Opencv——相机标定
- Qt Designer 的使用
- 49.CSS--- 特殊css3效果展示
- python类属性在继承中的修改的影响
- Docker学习笔记二 使用镜像