LeetCode 16 字串相乘

2021-09-27 01:25:14 字數 1395 閱讀 8320

題目描述:

給定兩個以字串形式表示的非負整數 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)或直接將輸入轉換為整數來處理。

演算法一:剛開始沒考慮字串的長度問題,利用兩個迴圈遍歷兩個字串,從後往前先相乘再相加,相當於寫了乙個整型的乘法演算法,如果字串過多就執行不了了。

public static string multiply(string num1, string num2)

result += sum * (int)math.pow(10, len2 - i - 1);

}return result.tostring();

}

執行結果:

演算法二:該方法就不需要考慮計算結果是否越界問題,只需從後往前依次將計算結果儲存在先定義好的陣列裡面,並進行進製判斷,最後輸出時去零處理即可。

43 字串相乘 大數相乘(字串相乘)

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

字串 leetcode 43 字串相乘

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

大數相乘 LeetCode43 字串相乘

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