leetcode 415 字串相加

2021-10-19 06:00:36 字數 961 閱讀 2946

【方法一:模擬豎式加法】

定義兩個指標 i 和 j 分別指向 num1 和 num2的末尾,即最低位,同時定義乙個變數 add維護當前是否有進製,然後從末尾到開頭逐位相加即可。數字位數不同時,我們統一在指標當前下標處於負數的時候返回 0,等價於對位數較短的數字進行了補零操作,這樣就可以除去兩個數字位數不同情況的處理,具體可以看下面的**。

reverse(ans.begin(), ans.end());//結果要翻轉一下

return ans;

}【方法二:字串轉數字,數字再轉字串】

思路是利用char和int之間ascll碼相差48,先將字串轉換成數字,用int型別求和之後再將數字轉成字串儲存

string addstrings(string num1, string num2) 	}	

for (int i = 0; i < num2.length(); i++) }

count = a + b;//ab是字串轉成的數字

if (count == 0) res = 0 + 48;

else

while (!st.empty())

} return res;

}

我覺得思路沒有問題啊,但是有乙個測試用例通過不了,不知道是為什麼啊!花了好長時間,難道是範圍的問題?

LeetCode 415 字串相加

給定兩個字串形式的非負整數 num1 和num2 計算它們的和。注意 num1 和num2 的長度都小於 5100.num1 和num2 都只包含數字 0 9.num1 和num2 都不包含任何前導零。你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式。利用字元流,將...

LeetCode 415 字串相加

給定兩個字串形式的非負整數 num1 和num2 計算它們的和。注意 num1 和num2 的長度都小於 5100.num1 和num2 都只包含數字 0 9.num1 和num2 都不包含任何前導零。你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式。無 class...

LeetCode 415 字串相加

題目 給定兩個字串形式的非負整數 num1 和num2 計算它們的和。注意 num1 和num2 的長度都小於 5100.num1 和num2 都只包含數字 0 9.num1 和num2 都不包含任何前導零。你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式。原始碼 ...