給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。
說明:num1 和 num2 的長度小於110。
num1 和 num2 只包含數字 0-9。
num1 和 num2 均不以零開頭,除非是數字 0 本身。
不能使用任何標準庫的大數型別(比如 biginteger)或直接將輸入轉換為整數來處理。
乙個m位數乘以乙個n位數,結果不會超過m+n位數,因此對於兩個字串來說,首先建立乙個長度為m+n的整型陣列res,用來記錄每個位置相乘的結果。
我們假設個位數的位置是索引0,十位數的位置是索引1,以此類推。則若不考慮進製的話,0位置乘以0位置的結果仍然放在位置,i位置乘以j位置的結果放在i+j位置。
因此,首先在不考慮進製的情況下,計算num1和num2兩兩位置相乘的結果並放入res中。
第二步,遍歷res中的元素,將當前位置i的進製資訊取出,並累加到i+1位置上去。
class
solution
}int flag =0;
for(
int i =
0; i < res.
size()
;++i)
string ans;
int index = res.
size()
-1;while
(res[index]==0
)--index;
for(
; index >=0;
-index)
ans +
=to_string
(res[index]);
return ans;}}
;
LeetCode43 字串相乘
給定兩個以字串形式表示的非負整數num1和num2,返回num1和num2的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 題目分析 如果兩個字串中有乙個為0,則結果是0 否則的話,將其中乙...
LeetCode43字串相乘
給定兩個以字串形式表示的非負整數num1和num2,返回num1和num2的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1和num2的長度小於110。num1和num2只包含...
leetcode43 字串相乘
給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。示例 1 輸入 num1 2 num2 3 輸出 6 示例 2 輸入 num1 123 num2 456 輸出 56088 說明 num1 和 num2 的長度小於110。nu...