leetcode43 字串相乘

2021-10-05 02:52:47 字數 877 閱讀 3947

給定兩個以字串形式表示的非負整數 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...