首页 > 其他分享 >两个链表的数进行相加

两个链表的数进行相加

时间:2022-10-21 19:23:02浏览次数:57  
标签:ListNode 相加 next 链表 tail l2 l1 两个 节点

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

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

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

# 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: Optional[ListNode], l2: Optional[ListNode]) -> Optional[ListNode]:
#创建头节点与滑动节点;返回头节点。用tail节点不断连接新节点
        head,tail = ListNode(None),ListNode(0)
        carry=0
        while(l1 or l2):
            n1 = l1.val if l1 else 0
            n2 = l2.val if l2 else 0
            sum = n1+n2+carry
            if head.val==None:
                head = tail=ListNode(sum%10)
            else:
#创建临时节点,然后用tail节点去连接该节点,然后把连接的新节点作为tail节点
                tmp_node = ListNode(sum%10)
                tail.next = tmp_node
                tail = tail.next
            carry=sum//10
            if l1:
                l1=l1.next
            if l2:
                l2=l2.next
        if carry>0:
            tail.next=ListNode(carry)
        return head

标签:ListNode,相加,next,链表,tail,l2,l1,两个,节点
From: https://www.cnblogs.com/szj666/p/16814552.html

相关文章

  • 单链表插入和删除一个节点的伪代码
    在单链表第i个元素之前插入元素e伪代码算法描述:(1)首先,定义一个指针p和计数因子j,并给计数因子j赋初值0(2)接着,用while循环开始遍历单链表,寻找第i-1个结点while循环条件:指针p不......
  • 求两个数组之和
    如题:求两个数组之和。例如:输入一个2,2(2行2列)    元素为:1,2,3,4          输入第二个2 2                       元素为:2,3,4,5......
  • Django之同时新增数据到两个数据库表与同时返回两个表的数据(插拔式)
    models:比如有以下三个模型fromdjango.dbimportmodels"""基类,其他类继承即可获得对应的字段"""classBaseModel(models.Model):updated_tm=models.DateT......
  • Linux系统配置两个Gitee账号的SSH
    背景介绍最近,买了一年的腾讯云轻量级服务器,并且支持了远程桌面访问,然后就准备开发了。但是,现在问题是,一台云主机,两个人用,一人一个Gitee仓库。需要让两个人的两个项目分别......
  • #yyds干货盘点# LeetCode 腾讯精选练习 50 题:寻找两个正序数组的中位数
    题目:给定两个大小分别为m和n的正序(从小到大)数组 nums1和 nums2。请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。 示例1:输入:num......
  • 【数据结构/C语言】有序单链表L1、L2合并
    1.根据输入的n和n个递增的有序数据建立一个带头结点的有序单链表L1,并输出有序链表中各元素值;2.根据输入的m和m个递增的有序数据建立一个带头结点的有序单链表L2,并输出有......
  • hive 拉链表
    1、MySQL创建数据库--创建数据库CREATEDATABASEdemoDEFAULTCHARACTERSETutf8mb4COLLATEutf8mb4_general_ci;--创建商品表createtableifnotexists`demo......
  • 两个字符串的乘法
    见leetcode43 Giventwonon-negativeintegers num1 and num2 representedasstrings,returntheproductof num1 and num2.Note:Thelengthofboth nu......
  • JavaScript获取两个数组数组的差集
    JavaScript获取两个数组数组的差集JavaScript在ES6中增加了很多Array对象的方法,这让我们在做数组元素操作的时候方便很多。以下便是分别通过Array的some,find,findIndex......
  • js给定两个数组,写一个方法来计算它们的交集?
    JavaScript给定两个数组,写一个方法来计算它们的交集   查看代码varnums1=[1,2,2,1,0],     nums2=[2,2,3,4,0];   ......