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;
    }
};
相关推荐
xiaoye-duck21 分钟前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
Azure_withyou1 小时前
Visual Studio中try catch()还未执行,throw后便报错
c++·visual studio
琉染云月1 小时前
【C++入门练习软件推荐】Visual Studio下载与安装(以Visual Studio2026为例)
c++·visual studio
L_09073 小时前
【C++】高阶数据结构 -- 红黑树
数据结构·c++
智者知已应修善业6 小时前
【查找字符最大下标以*符号分割以**结束】2024-12-24
c语言·c++·经验分享·笔记·算法
91刘仁德6 小时前
c++类和对象(下)
c语言·jvm·c++·经验分享·笔记·算法
diediedei6 小时前
模板编译期类型检查
开发语言·c++·算法
mmz12077 小时前
分治算法(c++)
c++·算法
一切尽在,你来7 小时前
C++多线程教程-1.2.1 C++11/14/17 并发特性迭代
开发语言·c++
80530单词突击赢7 小时前
C++入门指南:从零到精通
开发语言·c++