415. 字符串相加

题目

415. 字符串相加

我的思路

该题目比较简单。逐位遍历,计算字符对应的数字本身,相加时考虑进位即可。

C++中string类型可以直接reverse(str.begin(),str.end())进行字符串反转

我的实现

class Solution {
public:
    string addStrings(string num1, string num2) {
        int i = num1.length() - 1, j = num2.length() - 1, add = 0;
        string ans = "";
        while (i >= 0 || j >= 0 || add != 0) {
            int x = i >= 0 ? num1[i] - '0' : 0;
            int y = j >= 0 ? num2[j] - '0' : 0;
            int result = x + y + add;
            ans.push_back('0' + result % 10);
            add = result / 10;
            i -= 1;
            j -= 1;
        }
        // 计算完以后的答案需要翻转过来
        reverse(ans.begin(), ans.end());
        return ans;
    }
};

拓展学习

原文地址:https://www.cnblogs.com/BoysCryToo/p/13426447.html