描述
该题来自于力扣第43题
分析
经典大数乘法,回顾我们如何计算乘法,拿123x45
为例,
1
2
3
4
5
6
7
8
9
10
11
12
13
14 123
x 45
--------
15
10
5
12
8
4
--------
615
492
--------
5535
总结就是将各位相乘的结果按照一定方式对齐后,直接按位相加即可。假设一个数的长度为m
,一个数的长度为n
,那么乘积的长度一定不超过m+n
,取i,j
其中1<=i<=m, 1<=j<=n
,则第一数的第i
位与第二个数的第j
位相乘的结果放到i+j
位(从右往左数),对所有i,j
进行以上操作然后按位相加,最后依次进位就好。
代码
python
1 | class Solution: |