文章目录

  • 2. 两数相加

2. 两数相加

给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

示例:

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

思路:

我们可以将两个链表看成是相同长度的进行遍历,
如果一个链表较短则在前面补0,比如987+23 =987+023= 1010
每一位计算需要考虑上一位的进位问题,而当前位计算结束后同样需要更新进位值
如果两个链表全部遍历完毕后,进位值为1,则在新链表最前方添加节点1

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:# 初始化结果链表cur = ListNode(0)head = curcarry = 0  # 保存进位值while l1 != None or l2 != None:# 如果一个链表较短则在前面补0if l1 == None:x1 = 0else:x1 = l1.vall1 = l1.nextif l2 == None:x2 = 0else:x2 = l2.vall2 = l2.next# 每一位计算的同时需要考虑上一位的进位问题,而当前位计算结束后同样需要更新进位值sums = (x1 + x2 + carry)%10  # 取余carry = (x1 + x2 + carry)//10  # 取整cur.next = ListNode(sums)cur = cur.next# 如果两个链表全部遍历完毕后,进位值为 1,则在新链表最前方添加节点 1if carry == 1:cur.next = ListNode(carry)return head.next

如果对您有帮助,麻烦点赞关注,这真的对我很重要!!!如果需要互关,请评论或者私信!


leetcode—16.两数相加链表python解答相关推荐

  1. LeetCode 2 两数相加(链表)

    题目要求: 给定两个非空链表来表示两个非负整数.位数按照逆序方式存储,它们的每个节点只存储单个数字.将两数相加返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入 ...

  2. [链表遍历|模拟] leetcode 2 两数相加

    [链表遍历|模拟] leetcode 2 两数相加 1.题目 题目链接 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果 ...

  3. 20200114:(leetcode)两数相加

    两数相加 题目 主要思路 代码实现 题目 注意点:不以0开头 主要思路 逐个相加即可,注意需要逆序加,注意进位即可: 由于数字是个位数的,因此进位只有可能是0或者1: 注意定义的有参构造器. 代码实现 ...

  4. LeetCode 445. 两数相加 II(链表大数加法)

    1. 题目 给定两个非空链表来代表两个非负整数.数字最高位位于链表开始位置.它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 进 ...

  5. 练习:两数相加(链表逆序存储求和数字)

    2021年「博客之星」评选开始投票开启--我想要您投一票 我的CSDN主页 My Python 学习个人备忘录 我的博文推荐 两数相加    CSDN"每日一练"(Python)题 ...

  6. LeetCode 2 两数相加

    给定两个非空链表来代表两个非负数,位数按照逆序方式存储,它们的每个节点只存储单个数字.将这两数相加会返回一个新的链表. 你可以假设除了数字 0 之外,这两个数字都不会以零开头. 示例: 输入:(2 - ...

  7. LeetCode:2. 两数相加(中等)

    2. 两数相加(中等) 题目: 解题思路: 源码: 踩坑点: 题目: 解题思路: 把俩个链表对应位相加,如果大于等于10,对10取余,小于10,直接得到这一位 解题过程存在这样几个问题: 1.进行循环 ...

  8. leetcode算法—两数相加 Add Two Numbers

    关注微信公众号:CodingTechWork,一起学习进步. 题目 Add Two Numbers: You are given two non-empty linked lists represen ...

  9. leetcode —— 2. 两数相加 (对于链表更新的细节)

    给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...

  10. Leetcode 2 两数相加 Python

    给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...

最新文章

  1. 《Hibernate 系列》- 入门例子
  2. win7下安装docker
  3. android简单的自定义按钮,Android 自定义button简单示例
  4. php5.6 连接 oracle,XAMPP中PHP5.6.3连接Oracle
  5. 机器人编程与python语言的区别_一分钟看懂“机器人编程”和“少儿编程”的区别!...
  6. 信息学奥赛一本通 1413:确定进制 | OpenJudge NOI 1.13 34:确定进制 | OpenJudge NOI 2.1 1973:确定进制
  7. textbox有个AutoCompleteType的属性
  8. (十)java版b2b2c社交电商spring cloud分布式微服务- SSO单点登录之OAuth2.0登录认证(1)...
  9. 使用python将数据存入SQLite3数据库
  10. zookeeper OOM问题排查
  11. 关于个人博客的相关内容
  12. C语言函数程序实例(超全)
  13. Android APP渗透测试方法大全(百度云分享)
  14. 网页版bpc电波对时_电波表对时软件下载-BPC(中国码)电波表对时模拟软件 20170308 官方版 - 河东下载站...
  15. 三维数字沙盘电子沙盘MR AR VR虚拟现实无人机倾斜摄影三维全景建模卫星图片矢量
  16. 实变函数与泛函分析课本pdf_免费推荐几本实变函数和泛函分析的书
  17. 为什么选择WordPress作为企业CMS?
  18. 【cocos2dx】记录解决csb创建font字体造成的内存泄漏问题
  19. (附源码)SSM学科竞赛管理JAVA计算机毕业设计项目
  20. java截取固定大小图片_JAVA技巧(长字符串按指定长度截取)

热门文章

  1. 腾讯2012实习生招聘面试题:矩阵中A移动到B一共有多少走法
  2. jquery 1~6
  3. [转载]shell 十三问?
  4. 【SolidWorks、URDF】在SolidWorks里面插入URDF方法步骤以及无法启动的解决问题
  5. Altium Designer(四):敷铜设置
  6. 【CentOS 7】scp示例
  7. mysqljoin的原理和优化
  8. [历朝通俗演义-蔡东藩-前汉]第008回 葬始皇骊山成巨冢 戮宗室豻狱构奇冤
  9. C#OOP之十一 委托和事件
  10. 对项目和产品中坎坎坷坷的一些感悟