給定兩個以字串形式表示的非負整數 num1 和 num2,返回 num1 和 num2 的乘積,它們的乘積也表示為字串形式。
示例:
輸入: num1 = "2", num2 = "3"
輸出: "6"
輸入: num1 = "123", num2 = "456"
輸出: "56088"
做這題之前可以先做一下字串相加。
模擬人做乘法,兩個數相乘,首先將第乙個數和第二個數的最後一位相乘,然後將第乙個數和第二個數的倒數第二位相乘並左移一位和之前的結果相加,這裡就要用到大整數的加法。
**如下:
class solution
if(carry!=0) res = to_string(carry)+res;
return res;
}/*字串s1和字串s2相加,返回相加後的結果*/
string add(string s1, string s2)
if(carry!=0) ans = "1"+ans;
return ans;}};
使用性質:
**如下:
class solution
}string ans = "";
for(int i=0; i1、字串相加:
題解。思路 2 參考了:solution/you-hua-ban-shu-shi-da-bai-994-by-breezean/
LeetCode 字串 反轉字串
反轉字串 編寫乙個函式,其作用是將輸入的字串反轉過來。輸入字串以字元陣列char的形式給出。不要給另外的陣列分配額外的空間,你必須原地修改輸入陣列 使用 o 1 的額外空間解決這一問題。你可以假設陣列中的所有字元都是 ascii 碼表中的可列印字元。示例 1 輸入 h e l l o 輸出 o l ...
LeetCode 字串 親密字串
給定兩個由小寫字母構成的字串 a 和 b 只要我們可以通過交換 a 中的兩個字母得到與 b 相等的結果,就返回 true 否則返回 false 示例 輸入 a ab b ba 輸出 true 輸入 a ab b ab 輸出 false 輸入 a aa b aa 輸出 true 遍歷字串 a,記錄 a...
LeetCode 字串 重構字串
給定乙個字串s,檢查是否能重新排布其中的字母,使得兩相鄰的字元不同。若可行,輸出任意可行的結果。若不可行,返回空字串。示例 輸入 s aab 輸出 aba 輸入 s aaab 輸出 說明 假設 s 中有多個 a,則我們想讓字串排成 axaxax 的形式。我們可以先統計每個字元出現的次數,然後利用間隔...