滴滴筆試演算法題 兩個數字字串相加

2021-10-09 04:08:11 字數 768 閱讀 1686

題目釋義:給定兩個字串s1、s2,字串都是由0-9數字組成,需要將s1數字與s2數字進行相加,並返回相加後的資料結果s3。要求不能使用integer.parseint() bigdecimal等操作,字元長度使用integer可能溢位。(難度:簡單)

測試用例1:s1 = 「123」, s2 = 「234」,計算結果s3 = 「357」

測試用例2:s1 = 「998」, s2 = 「12」,計算返回結果s3 = 「1010」

**如下,僅供學習,有更好的解法可以相互學習

public

class

addstrnums

// 下標小於s1,但超過s2

if(i < len1 && i >= len2)

// 下標小於s2,但超過s1

if(i >= len1 && i < len2)

// 對位相加是否有進製

if(tempnum >=10)

else

// 新增每次資料

result.

(tempnum);}

// 如果相加資料長度都超過了s1、s2,則將進製資料補充在最後

if(overflow !=0)

// 最後對資料做翻轉

return result.

reverse()

.tostring()

;}@test

public

void

testaddcase()

}

對非常大的兩個數字求和 數字字串求和

對於大到會溢位任何資料型別的整數進行求和 思路 將數字一字串的形式儲存 逐位進行求和 細節 注意進製 public class bigintegertest return res 對數字字串做格式處理,不足位用0補齊 public static string prepare string a,str...

求兩個超長數字字串的和 Python

求兩個超長數字字串的和 python 123 0 333 9 如 12345 67890 分析思路 求 求兩個超長數字字串的和 1 先把兩個字串強制轉換成數字 2 把兩個數字相加即可得到加和 str1 1233333336666666663345 str2 678333366666666666666...

發現了兩個有關數字字串的處理函式

排序 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 1106 description 輸入一行數字,如果我們把這行數字中的 5 都看成空格,那麼就得到一行用空格分割的...