leetcode 415. 字符串相加

给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。

注意:

  1. num1 和num2 的长度都小于 5100.
  2. num1 和num2 都只包含数字 0-9.
  3. num1 和num2 都不包含任何前导零。
  4. 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。
 1 class Solution {
 2 public:
 3     string addStrings(string num1, string num2) {
 4         if(num1.size()<num2.size()) swap(num1, num2);
 5         for(int i=num2.size(); i<num1.size(); i++) num2 = '0' + num2;
 6         int carry = 0;
 7         for(int i=num1.size()-1; i>=0; i--){
 8             int t = (num2[i]-'0') + (num1[i]-'0') + carry;
 9             num1[i] = t%10 + '0';
10             carry = t/10;
11         }
12         if(carry==1) num1 = '1' + num1;
13         return num1;
14     }
15 };

猜你喜欢

转载自www.cnblogs.com/mr-stn/p/9031100.html