給定兩個字串形式的非負整數 num1 和num2 ,計算它們的和。
注意:num1 和num2 的長度都小於 5100.
num1 和num2 都只包含數字 0-9.
num1 和num2 都不包含任何前導零。
你不能使用任何內建 biginteger 庫, 也不能直接將輸入的字串轉換為整數形式。
思路:假設兩個字串的長度分別為size1和size2(我們假設size1>size2),那麼這兩個字串的和的長度一定不會超過size1+1.
然後從低位開始運算,每次先取num1的位,先判斷一下num2是否已經加完,如果加完就直接放進結果字串中,沒有的話要把num2的對應位加上,作為結果字串對應位的值。然後對這個值做乙個判斷是否超過了9,超過了需要把進製識別符號flag置1,
當size1位全部加完,最後需要判斷一下最高為位是否有進製,比如999+1,如果flag是1,則在結果字串中要給最高位前再加乙個1.
class solution
else//如果ret沒有進製,那麼flag設定為0,下次計算時不進製。
s+=ret+'0';
}if (flag==1)//退出迴圈後,需要檢查最高位是否有進製
reverse(s.begin(),s.end());//s中的每一位是從低位到高位擺放的,所以逆置後就是正確答案
return s;
}};
leetcode 字串相加
給定兩個字串形式的非負整數 num1 和num2 計算它們的和。注意 num1 和num2 的長度都小於 5100.num1 和num2 都只包含數字 0 9.num1 和num2 都不包含任何前導零。你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式 415 字串相...
LeetCode 字串相加 415
給定兩個字串形式的非負整數 num1 和num2 計算它們的和。注意 num1 和num2 的長度都小於 5100.num1 和num2 都只包含數字 0 9.num1 和num2 都不包含任何前導零。你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式。思路 先將字串...
題記 字串相加 LeetCode
給定兩個字串形式的非負整數 num1 和num2 計算它們的和。num1 和num2 的長度都小於 5100 num1 和num2 都只包含數字 0 9 num1 和num2 都不包含任何前導零 你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數形式 思路 從兩個數的個位...