leetcode 第 415 题:字符串相加(C++)

415. 字符串相加 - 力扣(LeetCode)

有点像LeetCode第 2 题:两数相加(C++)_qq_32523711的博客-CSDN博客_definition for singly-linked list.两数相加c++

考虑进位传递就可以了,不能转化为数字,那就是要ascii码相对大小进行操作:

class Solution {
public:
    string addStrings(string num1, string num2) {
        string res;
        int i = num1.size()-1, j = num2.size()-1, cur = 0;
        while(i >= 0 || j >= 0 || cur != 0){
            if(i >= 0)  cur += num1[i--]-'0';
            if(j >= 0)  cur += num2[j--]-'0';
            res += to_string(cur%10); //相加为两位数的时候只需要第一位
            cur = cur/10; //cur保存这一次计算的进位
        }
        reverse(res.begin(), res.end());
        return res;
    }
};

猜你喜欢

转载自blog.csdn.net/qq_32523711/article/details/107773144