首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

字符串相乘

JavaScript实现LeetCode第43题:字符串相乘 题目描述 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。...解题方法 最开始的思路是把字符串分别转成数字,然后相乘,会出现数字溢出的情况。同时题目要求不能使用现成的api来处理。所以放弃这个一开始就能想到的思路。 分析竖式相乘的步骤,转成代码的思维来解决。...num1的第 i 位(高位从0开始 和 num2 的第 j 位相乘的结果在乘积中的位置是 [i + j, i+ j + 1]; 例如 123 45, 123的第1位 2和 45的第0位4乘积 08存放在结果的第...6 1 5 1 2 0 8 0 4 ---------- 0 5 5 3 5 这样我们就可以单独对每一位进行相乘计算把结果存入相应的

60920
您找到你想要的搜索结果了吗?
是的
没有找到

字符串相乘与反转(15)

字符串相乘与反转(15) 0.前言1.字符串相乘2.反转字符串3.作者的话 0.前言 周五到了,我们LeetCode刷题继续。...今日讨论:字符串相乘 与 反转字符串 在这里我们一起坚持,点击公众号右下角->联系我可以进入leetcode微信群哦!...备注:刷题 1.字符串相乘 问题 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。...思路与代码结合 (1)首先计算两个数的长度分别用常量存储; (2)若当前两个数字有一个为0或者为空字符,直接返回字符'0'; (3)开辟一个数组空间,用于存放两个数相乘的结果; 我们知道两个数相乘,数字的长度不大于两数长度之和...问题 编写一个函数,其作用是将输入的字符串反转过来。

39020

如何高效解决“字符串相乘“问题?

一、字符串相乘 题目介绍 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。...: num1 = “2”, num2 = “3” 输出: “6” 示例2: 输入: num1 = “123”, num2 = “456” 输出: “56088” 思路分析 同时从两个字符串的右边开始往前遍历相乘...将相乘的结果保存在一个arr数组中,每个相乘的结果放入正确的位置(i+J+1). arr数组创建多大的空间?...此处是此解法的难点,通过将每次相乘后的结果放入正确的位置以实现错位相加. 牛牛的理解是: j是内循环,从右往左遍历num1,i是外循环,决定的是num2....所以用j的变化控制与num1相乘结果的位置,用i的变化,控制错位相加(即相乘的结果要往左移动一位)即num2的位变化.

13710

​LeetCode刷题实战43:字符串相乘

今天和大家聊的问题叫做 字符串相乘,我们先来看题面: https://leetcode-cn.com/problems/multiply-strings/ Given two non-negative...题意 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。...我们继续拆分问题,当我们计算6和15相乘的时候,又是怎么计算的呢?顺着这个思路,整个过程可以进一步被划分成先计算6和5相乘,再计算6和1相乘。...最后,我们把两个较大数字的相乘拆分成了在每一位上的数字相乘。到了这里,剩下的就简单了,也就是说我们可以把这两个很大的数字用两个数组来存储,数组当中的每一位存储数字上的一位。...由于题目需要我们要返回的是字符串,所以我们还需要将数组里的内容再拼接成字符串

38110

☆打卡算法☆LeetCode 43、字符串相乘 算法解析

一、题目 1、算法题目 “给定两个字符串形式的整数,返回字符串形式的整数。” 题目链接: 来源:力扣(LeetCode) 链接:43....字符串相乘 - 力扣(LeetCode) (leetcode-cn.com) 2、题目描述 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式...输入: num1 = "123", num2 = "456" 输出: "56088" 二、解题 1、思路分析 这个题是求两个字符创形式的整数的乘积,可以采用竖式乘法的解题思路,读取字符创中每一个字符进行相乘...比如: 38*38 = 38 *30 + 38 *8 = 1444 然后,就是读取字符串中的数字的时候要转化为ASCII码,字符0-9对应的ASCII码值为48-57。

15630

Go实现字符串相乘无溢出最详细解释

作者 | 陌无崖 转载请联系授权 导语 今天在leecode看到了字符串相乘的题,拿来做一下,要做到匹配任意两个数字字符串还是有一定的难度的,在网上看了很多关于Go语言如何解决的,都不全,因此在这里我自己写了一个全面的没有...字符串相乘 给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。...代码逻辑 1、字符串反转 2、遍历我们的字符串,下表相加一直的进行相加,可以借助于 += 3、遍历我们的最终结果,不停的进行进位,为了有一个结束,我们可以对最后的一个数放置0, 代码 1、首先我们需要一个字符串反转的函数如下...j := 0, len(r)-1; i < j; i, j = i+1, j-1 { r[i], r[j] = r[j], r[i] } return string(r) } 2、定义我们的字符串相乘的函数...0 我们需要直接返回 0 if (a[0]-'0') == 0 || (b[0]-'0') == 0 { return "0" } 2、字符转换成数字进行相乘我们可以借助 -'0'完成,不理解的可以查看

88410

【刷题】Leetcode 415 字符串相加 和 34 字符串相乘

Leetcode 415 字符串相加 题目描述 逻辑很简单,对应位置相加,并进位即可。 思路一(模拟大法版!!!) 本题我们只需要对两个大整数模拟「竖式加法」的过程。...Leetcode 34 字符串相乘 题目描述 根据描述,这道题实际上就是模拟一下乘法运算,这是又又又用到了乘法器原理(实际上就是竖式运算),不得不说竖式运算真的是神!!!...如果要用竖式乘法就要分布相乘,然后在加到一起,这时又会用到字符串相加的知识。所以这道题可谓一箭双雕。该题的难点应该是如何保证模拟过程的顺利进行。...思路一(模拟大法版) 两个乘数选择其一进行逐个相乘操作 每次相乘获得一个数 并 对应相对的数量级 每次相加到一起 这样就完成我们的操作。 如果num和num2之一是0,则直接将0作为结果返回即可。...从右往左遍历乘数,将乘数的每一位与被乘数相乘得到对应的结果,再将每次得到的结果累加。这道题中,被乘数是 num,乘数是num2。

9210
领券