欢迎光临
我们一直在努力

逆序相加

"""
逆序相加
给定两个非空数组,表示两个非负的整数。
每个数组每位数字都是按照逆序的方式存储的,
并且每个节点只能存储一位数字。
将两个数相加,并以相同形式返回一个表示和的数组,
"""

def add(l1, l2):
    """
    两个列表形式的整数相加。

    参数:
    l1 -- 第一个整数的列表形式
    l2 -- 第二个整数的列表形式

    返回:
    两个整数相加的结果的列表形式
    """
    # 初始化结果列表和进位变量
    result = []
    carry = 0

    # 确保较短的列表在前,较长的列表在后,以便统一处理
    short, long = (l1, l2) if len(l2) > len(l1) else (l2, l1)

    # 遍历较短列表中的每个元素,进行加法运算
    for i in range(len(short)):
        # 当前位的值等于较短列表的当前位、较长列表的当前位和进位之和
        cur = short[i] + long[i] + carry
        # 计算新的进位
        carry = cur // 10
        # 将当前位的余数添加到结果列表中
        result.append(cur % 10)

    # 处理完较短列表后,将较长列表剩余的部分追加到结果列表中
    start = i + 1
    result += long[start:]

    # 如果还有进位,需要对结果列表的适当位置进行调整
    result[start] += carry

    # 返回结果列表
    return result

a = [6, 7, 8]
b = [2, 3, 4, 5, 6]
print(add(a, b))
赞(0) 打赏
未经允许不得转载:创想未来 » 逆序相加

评论 抢沙发

评论前必须登录!

 

更好的Python学习

支持快讯、专题、百度收录推送、人机验证、多级分类筛选器,适用于垂直站点、科技博客、个人站,扁平化设计、简洁白色、超多功能配置、会员中心、直达链接、文章图片弹窗、自动缩略图等...

联系我们联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册