LeetCode 043 字串相乘

2021-09-20 07:16:37 字數 896 閱讀 6202

示例 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,num[i]跟num[j]相乘存在num[i+j+1]裡

圖**上面這個就是比較清晰的圖

2.然後兩個for迴圈,分別每個數相乘,for迴圈從最後(末尾)開始,讓把每一位的數記下

3.然後乙個for迴圈做進製操作

4.最後檢查前面有多少個0,記下數量,然後從0後面開始轉換成字串

**:

public static string multiply(string num1, string num2) 

}//處理進製

int temp=0;

for (int i =num.length-1; i>=0 ; i--)

//處理最前面的0

int a=0;

while(a

string s="";

for (int i = a; i

return s;

}

LeetCode Python 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...

棧 字串 leetcode394 字串解碼

題目 解題思路 遍歷字串,如果遇到的是數,則把數存入num 如果遇到的是左括號,那麼將num壓入數棧,將左括號前面的字串ans壓入字串棧,然後將num清0,將ans也清空 如果遇到的是右括號,那麼將數棧的棧頂數彈出記為 k,然後將當前的ans重複k次,連線到字串棧的棧頂字串後面,然後將字串棧的棧頂字...