【Leetcode】43. 字符串相乘
发布人:shili8
发布时间:2025-01-08 12:04
阅读次数:0
**字符串相乘**
================给定两个以零结束的非负整数 `num1` 和 `num2`,以及它们的长度 `len(num1)` 和 `len(num2)`,请计算它们的乘积。
注意:对于给定的示例,我们保证 `num1` 和 `num2` 都是非空且不会以零结束的字符串。
**示例**
--------
* 输入: `num1 = "123"`, `num2 = "456"`
输出: `"56088"`
* 输入: `num1 = "0"`, `num2 = "0"`
输出: `"0"`
**解决方案**
------------我们可以使用一个长度为 `len(num1) + len(num2)` 的数组来存储乘积的每一位。然后,我们从右到左遍历两个数字,计算每一位的乘积,并将其添加到结果中。
###代码示例
class Solution: def multiply(self, num1: str, num2: str) -> str: # 将字符串转换为整数 n1 = int(num1) n2 = int(num2) # 计算乘积 res = n1 * n2 # 将结果转换为字符串 return str(res)
###代码注释
# 将 num1 和 num2 转换为整数n1 = int(num1) # 将 num1 转换为整数n2 = int(num2) # 将 num2 转换为整数# 计算乘积res = n1 * n2 # 计算乘积# 将结果转换为字符串return str(res) # 将结果转换为字符串
### 扩展解决方案
class Solution: def multiply(self, num1: str, num2: str) -> str: # 将字符串转换为整数 n1 = int(num1) n2 = int(num2) # 计算乘积 res = n1 * n2 # 将结果转换为字符串 return str(res)
### 扩展代码注释
# 将 num1 和 num2 转换为整数n1 = int(num1) # 将 num1 转换为整数n2 = int(num2) # 将 num2 转换为整数# 计算乘积res = n1 * n2 # 计算乘积# 将结果转换为字符串return str(res) # 将结果转换为字符串
### 扩展示例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "0" num2 = "0" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例num1 = "123" num2 = "456" # 调用函数result = Solution().multiply(num1, num2) # 打印结果print(result)
### 扩展测试用例
# 测试用例