每日一題 字串相加(C )

2021-10-08 19:49:46 字數 718 閱讀 8835

題目描述:給定兩個字串形式的非負整數 num1 和num2 ,計算它們的和。

1.num1 和num2 的長度都小於 5100

2.num1 和num2 都只包含數字 0-9

3.num1 和num2 都不包含任何前導零

4.你不能使用任何內建 biginteger 庫, 也不能直接將輸入的字串轉換為整數形式

解題思路

定義兩個指標分別指向兩個串的當前需要被執行加法的數字位,對於string,看做陣列下標,需要從後向前遞減指標數值

每一輪迴圈的時候,如果這個數字還沒有被加完(也就是乙個數字比另乙個長的情況)那麼就讓x是當前對應的數字,如果被加完了,那麼就直接為0,x和y的和就是curadd

讓變數add維護每一輪的進製(curadd + add)%10並把餘數變為字元,續在ans字串後面

當i和j都為0,並且進製add=0的時候,說明已經完成整個加法

將ans整個反轉過來就得到所求答案

class

solution

// 反轉字串

reverse

(result.

begin()

, result.

end())

;return result;}}

;

每日一題 字串

題目描述 小n現在有乙個字串s。他把這這個字串的所有子串都挑了出來。乙個s的子串t是合法的,當且僅當t中包含了所有的小寫字母。小n希望知道所有的合法的s的子串中,長度最短是多少。輸入描述 一行乙個字串s。只包含小寫字母。s的長度不超過1e6.輸出描述 一行乙個數字,代表最短長度。資料保證存在乙個合法...

每日一題 字串解碼

題目描述 給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為...

Leedcode 每日一題 字串的排序

給定兩個字串s1和s2,寫乙個函式來判斷s2是否包含s1的排列。換句話說,第乙個字串的排列之一是第二個字串的子串。示例1 輸入 s1 ab s2 eidbaooo 輸出 true解釋 s2 包含 s1 的排列之一 ba 示例2 輸入 s1 ab s2 eidboaoo 輸出 false注意 輸入的字...