当前位置: 首页 > news >正文

做网站为什么图片上传不了/免费平台

做网站为什么图片上传不了,免费平台,下载网址,邯郸网络科技公司题目LT2: 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不…

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

例子:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[7,0,8]
解释:342 + 465 = 807
输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:[8,9,9,9,0,0,0,1]
输入:l1 = [0], l2 = [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: ListNode, l2: ListNode) -> ListNode:#创建两个一致的链表node1 = node2 = ListNode()#carry 表示进位 来加一carry = 0 while l1 or l2: tmp = ListNode()if not l1: sum_ = l2.val + carry carry = sum_//10tmp.val = sum_ %10 l2 = l2.next elif not l2: sum_ = l1.val + carry carry = sum_//10tmp.val = sum_ %10l1 = l1.next else: sum_ = l1.val + l2.val + carry carry = sum_ //10tmp.val = sum_ % 10 l1 = l1.next l2 = l2.next node2.next = tmpnode2 = node2.next if carry:new= ListNode(1)node2.next = newreturn node1.next 

回顾之前题目是正常的数字相加 而不是链表的想加。

LT415.字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和

class Solution:def addStrings(self, num1: str, num2: str) -> str:ans = ''carry = 0 N1 = len(num1)-1N2 = len(num2)-1 while N1>=0 or N2>=0:if N1>=0:tmp1 = int(num1[N1])else: tmp1 = 0        if N2>=0:tmp2 = int(num2[N2])else: tmp2 = 0 tmp = tmp1 + tmp2 + carry carry = tmp//10 val = tmp%10ans = str(val) + ans N1 -= 1 N2 -= 1 if carry:return '1' + ans else:return ans

再改编一次 变成两字符串想乘

LT43. 字符串相乘
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式

输入: num1 = "2", num2 = "3"
输出: "6"
输入: num1 = "123", num2 = "456"
输出: "56088"

首先第一个知识点:
长度为N1的数 和 长度为N2的数相乘 得到的数长度是 (N1 + N2) -1 或者是 (N1 + N2)

class Solution:def multiply(self, num1: str, num2: str) -> str:if num1 == '0' or num2 == '0':return '0'N1 = len(num1)N2 = len(num2)carry = 0 ans = [0]*(N1 + N2)for i in range(N1-1,-1,-1):for j in range(N2-1,-1,-1):ans[i+j+1] += int(num1[i]) * int(num2[j])#上面那部分是为了模拟 乘法运算的过程# 下面开始处理进位的问题for i in range(N1+N2-1, -1 ,-1 ):ans[i] += carry carry = ans[i] //10 ans[i] = ans[i] % 10 if ans[0] == 0: return ''.join(str(_) for _ in ans[1:])else: return ''.join(str(_) for _ in ans)
http://www.jmfq.cn/news/4801627.html

相关文章:

  • 网站建设怎么报价/津seo快速排名
  • 用什么软件做网站设计/天津seo公司
  • 专业的上海网站建设公司排名/企业网站页面设计
  • 网站网站制作怎么样/河南自助建站seo公司
  • 论坛网站模板/优化师是做什么的
  • 办公空间设计要素/北京网站优化经理
  • 前端网站开发流程图/关键词搜索指数查询工具
  • 网站风格有哪些/如何找外包的销售团队
  • 柳州网站建设推荐/互联网推广公司靠谱吗
  • 姚家园做网站/广州网站制作公司
  • 河南郑州百度网站建设/免费b2b网站推广渠道
  • 找别人做网站一定注意什么/4001688688人工服务
  • 网站怎么做全屏滚动条/开源seo软件
  • 网址域名注册申请/自动app优化最新版
  • 武汉网络公司武汉做网站公司/广西seo搜索引擎优化
  • 网站文字特效/seo推广工具
  • 个人网站免费空间申请/竞价代运营公司
  • 网站后台无法编辑文字/seo站内优化培训
  • wordpress simple tag/关键词排名优化易下拉排名
  • 网站做百度口碑/江苏网站建设推广
  • 自助建站最大/网络营销策略概念
  • 做网站的难点是什么/站长工具网站排名
  • 鱼爪网公司转让平台/seo入口
  • 网络游戏开发平台/seo技术外包 乐云践新专家
  • 个人主题网站做的步骤/网站注册域名
  • 芒市网站建设公司/比较靠谱的电商培训机构
  • 微信上的网站怎么做的/免费发布推广的平台有哪些
  • 做网站能用的字体/英文外链代发
  • 企业网站做优化/百度网页游戏排行榜
  • 做网站前台用什么/线上营销推广方案有哪些