LeetCode题意分析&解答43. Multiply Strings
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode题意分析&解答43. Multiply Strings相关的知识,希望对你有一定的参考价值。
Given two numbers represented as strings, return multiplication of the numbers as a string.
Note: The numbers can be arbitrarily large and are non-negative.
题意分析:
本题是求两个用string表示的非负大数的乘积,乘数可以是任意大小。
解答:
可以用一个临时List表示乘积的每一位,然后对两个乘数每一位两两相乘,并将结果填到相应的List坐标中即可。
AC代码:
class Solution(object): def multiply(self, num1, num2): ret_list = [0] * (len(num1) + len(num2)) for i, vi in enumerate(reversed(num1)): for j, vj in enumerate(reversed(num2)): ret_list[i + j] += int(vi) * int(vj) ret_list[i + j + 1] += ret_list[i + j] / 10 ret_list[i + j] %= 10 while len(ret_list) > 1 and ret_list[-1] == 0: ret_list.pop() return ‘‘.join(map(str, ret_list[::-1]))
以上是关于LeetCode题意分析&解答43. Multiply Strings的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode题意分析&解答38. Count and Say