415. 字符串相加

415. 字符串相加

cpp 复制代码
class Solution 
{
public:
    string addStrings(string num1, string num2)
    {
        //i j分别指向当前字符串的最后一位
        int i = num1.length() - 1;
        int j = num2.length() - 1;
        int add = 0;
        string s = "";
        //不要忽略两个串都遍历完了 但是还有一个进位
        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;
            //计算进位
            add = result / 10;
            //当前位数字变字符 尾插进s 
            s.push_back('0' + result % 10);
            //i j前移
            i -= 1;
            j -= 1;
        }
        reverse(s.begin(), s.end());
        return s;
    }
};
相关推荐
无小道29 分钟前
C/C++——atomic小记
c++·cas·无锁
千谦阙听9 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习
weixin_307779139 小时前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab
HugoStudio_SWAN9 小时前
洛谷 B4500 / B4449 / B3843 凯撒密码、密码强度与密码合规——加密与安全的三道门
c++·学习·程序人生·算法·安全
雾里看山10 小时前
源码目录、构建目录与 out-of-source build
c++·软件构建·cmake
渡我白衣12 小时前
并查集:基础认识与模拟实现
android·java·javascript·数据结构·c++·算法·并查集
如意猴12 小时前
【C++】001--C++入门(1)
开发语言·c++
hetao173383712 小时前
2026-09-01~09-04 hetao1733837 的刷题记录
c++·算法
HugoStudio_SWAN15 小时前
洛谷 P1420 / P1179 / B4262 最长连号、数字统计与词频统计——统计的三种面孔
c++·学习·程序人生·算法
raindayinrain16 小时前
c++并发
c++