给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-two-numbers

例:

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

# 解析:创建新链表,每个节点相加,记录是否进位,新链表的节点为进位加两个链表的节点和的个位。最后一位若有进位,则继续新增一个节点即可。

# 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:re = ListNode(0)  # 新建链表头结点r = re  # 头结点carry = 0  # 进位while (l1 or l2):  # l1或l2有一个存在即可x = l1.val if l1 else 0  # l1当前节点的值y = l2.val if l2 else 0  # l2当前节点的值s = carry + x + y  # 进位加l1和l2的值carry = s // 10  # 判断是否进位r.next = ListNode(s%10)  # 去和的个位部分r=r.next  # 指向下一个节点if(l1!=None): l1=l1.next  # 若l1不为空,则l1指向下一个节点if(l2!=None): l2=l2.next  # 若l2不为空,则l2指向下一个节点if(carry>0):  # 如果最后还存在进位r.next = ListNode(1)  # 创键新节点用来存储最高位return re.next  # 返回头结点之后的节点,头结点未参与计算

两数相加Python解法相关推荐

  1. 两数相加python代码实现(leetcode2)

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

  2. Leetcode 2 两数相加 Python

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

  3. 两数之和Python解法

    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同 ...

  4. LeetCode第二题:两数相加(Add Two Numbers)

    LeetCode第二题:两数相加(python,java) You are given two non-empty linked lists representing two non-negative ...

  5. python两数相加代码_一边学编程,一边学语数外,用python编程全排列10以内两数加法...

    原标题:一边学编程,一边学语数外,用python编程全排列10以内两数加法 编程并不神秘 编程只是解决问题的一共方法 python是一门编程语言 python是一种解决问题的编程工具 在小学阶段,学习 ...

  6. python两数相加取_Leetcode_两数相加_Python

    小编从今天起要开始分享一些Leedcode代码,通过好好练习编程能力,争取以后找一份好工作. 题目:两数相加 # Definition for singly-linked list. # class ...

  7. python 链表两数相加

    | 两数相加 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表示和的链表. 你可以假设 ...

  8. python两个数相加时_两数相加 leetcode Python

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

  9. python两数相加有进退位_Leetcode_两数相加_python

    小编从今天起要开始分享一些Leetcode代码,通过好好练习编程能力,争取以后找一份好工作. 题目:两数相加 # Definition for singly-linked list. # class ...

最新文章

  1. EMC升级Celerra 支持闪存及重复数据删除
  2. 如何应对一直变化的搜索引擎算法?
  3. mysql子查询教行子查询_MySQL中列子查询与行子查询操作的学习教程
  4. sap百分数表示Demo
  5. labuladong 的算法小抄_来自GitHub 68.8k star的硬核算法教程
  6. Tuxera NTFS教程:在Mac上如何将MS-DOS文件系统格式化为NTFS文件系统?
  7. 如何用axure绘制图表_用Python绘制手绘风格的图表
  8. 用matlab求三重积分格式,matlab求三重积分
  9. 串口转发工具 串口屏调试神器 PC串口监视神器
  10. 手机麦克风结构原理图_麦克风工作原理是什么
  11. 车架号 生成 java_JAVA匹配车架号以及生成虚拟车架号
  12. mac打开网页速度特别慢
  13. matlab共轭梯度法解线性方程组,计算方法——共轭梯度法求解线性方程组.pdf
  14. 求解TSP问题(python)(穷举、最近邻居法、opt-2法、动态规划、插入法)
  15. ES6 里的symbol
  16. String字符串方法
  17. 果园篱笆c语言算法,凸包问题(果园篱笆)
  18. Matlab中ylim函数的使用
  19. C# XML 与 String 互转
  20. 三维数字虚拟GIS沙盘教程第30课:电子地图数据来源分析

热门文章

  1. SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
  2. SAP UI5 数据绑定之高级技巧 - Type System
  3. 2021年6月3日,SAP 全球蓝宝石大会将在线上盛大启幕
  4. rxjs 里的pipe operator
  5. 从SAP Leonardo到SAP Data Intelligence
  6. SAP Fiori Elements edit按钮的实现细节
  7. SAP UI5 ABAP repository的handler class
  8. 阮一峰react demo代码研究的学习笔记 - demo4 debug - create element and Render
  9. 阮一峰react demo代码研究的学习笔记 - demo7 debug - how ref node is attached
  10. what does packaging mean in pom.xml