給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。
示例 1:
輸入: num1 = 「2」, num2 = 「3」
輸出: 「6」
示例 2:
輸入: num1 = 「123」, num2 = 「456」
輸出: 「56088」
說明:
num1 和 num2 的長度小於110。
num1 和 num2 只包含數字 0-9。
num1 和 num2 均不以零開頭,除非是數字 0 本身。
不能使用任何標準庫的大數型別(比如 biginteger)或直接將輸入轉換為整數來處理。
思路:
我們還是按照整數乘法一樣的思路,先將乘數的每一位與被乘數相乘,獲取單次相乘的結果,再將結果都加起來。
具體過程:
1.特殊情況,若有乙個為 「0」,返回 「0」。
2.從後往前遍歷字串 num2 的元素 num2[ i ],num2[ i ] 與 num1 相乘,獲取單次相乘的結果。在這裡我們根據元素的位置 i ,對單次相乘的結果的末尾添上「 0」,這是為了方便字串相加,不用對齊了。
3. 定義字串相加函式,每次獲取單次相乘的結果,則將其加到總的結果上。
涉及到較多的字串轉換。
**:
class
solution
return res;
} string multiply
(string num1, string num2)
res=
stringadd
(res,tmp_s);}
return res;}}
;
結果: LeetCode Python 43 字串相乘
給定兩個以字串形式表示的非負整數num1和num2,返回num1和num2的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1和num2的長度小於110。num1和num2只包含...
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...