leetcode-43-字符串相乘
---恢复内容开始---
题目描述:
方法一:O(n2)
class Solution: def multiply(self, num1: str, num2: str) -> str: def str2int(s): return ord(s) - ord("0") res = 0 num1,num2 = num1[::-1],num2[::-1] for i,x in enumerate(num1): temp = 0 for j,y in enumerate(num2): temp += 10**j*str2int(x)*str2int(y) res += temp*10**i return str(res)
优化:
class Solution: def multiply(self, num1: str, num2: str) -> str: res = 0 for i in range(1,len(num1)+1): for j in range(1, len(num2)+1): res += int(num1[-i]) * int(num2[-j]) *10**(i+j-2) return str(res)
---恢复内容结束---