Add Strings

2017/11/22 posted in  leetcode

Given two non-negative integers num1 and num2 represented as string, return the sum of num1 and num2.

Note:

The length of both num1 and num2 is < 5100.
Both num1 and num2 contains only digits 0-9.
Both num1 and num2 does not contain any leading zero.
You must not use any built-in BigInteger library or convert the inputs to integer directly.

class Solution {
public:
    string addStrings(string num1, string num2) {
        int fw = 0;
        string result ="";
        for(int i = num1.size()-1,j = num2.size()-1;i>=0||j>=0;i--,j--){
            int n1 = i>=0 ? num1[i]-'0':0;
            int n2 = j>=0 ? num2[j]-'0':0;
            int tmp = (n1+n2+fw)%10;
            fw = (n1+n2+fw)/10;
            result = char(tmp+'0') + result;
        }
        if(fw){
            result = char(fw +'0')+ result;
        }
        return result;
    }
};