43 字串相乘

2021-09-24 19:53:14 字數 1133 閱讀 9599

給定兩個以字串形式表示的非負整數num1num2,返回num1num2的乘積,它們的乘積也表示為字串形式。

輸入: num1 = "2", num2 = "3"

輸出: "6"

輸入: num1 = "123", num2 = "456"

輸出: "56088"

模擬乘法計算過程實現

class

solution

:def

multiply

(self, num1:

str, num2:

str)

->

str:

if num1 ==

'0'or num2 ==

'0':

return

'0' l1, l2 =

len(num1)

,len

(num2)

k =[0

for i in

range

(l1+l2)

] num1, num2 = num1[::

-1], num2[::

-1]for i in

range

(l1)

:for j in

range

(l2)

: k[i+j]

+=int

(num1[i])*

int(num2[j]

)for i in

range

(l1 + l2)

:if k[i]

>=10:

k[i+1]

+= k[i]

//10

k[i]

= k[i]%10

res =

"".join(

str(x)

for x in k[::

-1])

res = res.lstrip(

'0')

# 去除前導0

return res

43 字串相乘

給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2 的長度小於110。nu...

43 字串相乘

題目描述 給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2 的長度小於1...

43 字串相乘

小聲bb,直接int 多好 既然題目要求不能直接用int 我只好開動我的大腦開始想有什麼解決方案。然後首先想到的就是小學時候老師教乘法時用乘式寫法。1 2 3 4 5 6 1 5 4 9 2 5 5 3 51 2 3 4 5 1 51 0 0 5 0 6 1 5 1 20 8 0 4 0 5 5 3...