力扣-415.字符串相加

Idea

模拟:竖式加法

从后面往前逐位相加,然后将相加的结果模10,添加到答案字符串中去

最后需要判断一下是否还有进位问题

需要将答案string翻转

AC Code

cpp 复制代码
class Solution {
public:
    string addStrings(string num1, string num2) {
        string ans;
        int l = num1.size() - 1, r = num2.size() - 1;
        int temp = 0;
        while(l >= 0 && r >= 0) {
            int a = num1[l] - '0';
            int b = num2[r] - '0';
            temp += a + b;
            ans += to_string(temp % 10);
            temp /= 10;
            l--;
            r--;
        }
        while(l >= 0) {
            int a = num1[l--] - '0';
            temp += a;
            ans += to_string(temp % 10);
            temp /= 10;
        } 
        while(r >= 0) {
            int b = num2[r--] - '0';
            temp += b;
            ans += to_string(temp % 10);
            temp /= 10;
        }
        if(temp) ans += to_string(temp);
        reverse(ans.begin(),ans.end());
        return ans;
    }
};
相关推荐
s1hiyu几秒前
实时控制系统验证
开发语言·c++·算法
daad7777 分钟前
V4L2_mipi-csi
算法
2301_7657031411 分钟前
C++代码复杂度控制
开发语言·c++·算法
m0_7088309621 分钟前
C++中的享元模式实战
开发语言·c++·算法
naruto_lnq28 分钟前
分布式计算C++库
开发语言·c++·算法
m0_706653231 小时前
模板编译期排序算法
开发语言·c++·算法
历程里程碑1 小时前
Linxu14 进程一
linux·c语言·开发语言·数据结构·c++·笔记·算法
木井巳1 小时前
【递归算法】验证二叉搜索树
java·算法·leetcode·深度优先·剪枝
m0_561359671 小时前
嵌入式C++加密库
开发语言·c++·算法
近津薪荼1 小时前
优选算法——双指针专题7(单调性)
c++·学习·算法