C语言 | Leetcode C语言题解之第415题字符串相加

题目:

题解:

cpp 复制代码
char* addStrings(char* num1, char* num2) {
    int i = strlen(num1) - 1, j = strlen(num2) - 1, add = 0;
    char* ans = (char*)malloc(sizeof(char) * (fmax(i, j) + 3));
    int len = 0;
    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[len++] = '0' + result % 10;
        add = result / 10;
        i--, j--;
    }
    // 计算完以后的答案需要翻转过来
    for (int i = 0; 2 * i < len; i++) {
        int t = ans[i];
        ans[i] = ans[len - i - 1], ans[len - i - 1] = t;
    }
    ans[len++] = 0;
    return ans;
}
相关推荐
踩坑记录5 分钟前
leetcode hot100 41.第一个缺失的正数 hard
leetcode
学嵌入式的小杨同学24 分钟前
【嵌入式 C 语言实战】手动实现字符串四大核心函数(strcpy/strcat/strlen/strcmp)
c语言·开发语言·前端·javascript·数据结构·数据库·算法
小程同学>o<1 小时前
嵌入式之C语言面试题(一)基本概念及其它问答题
c语言·面试·职场和发展·嵌入式软件·c语言面试
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——力扣 1046 题:最后一块石头的重量
算法·leetcode·职场和发展
有一个好名字1 小时前
力扣- 统计二叉树中好节点的数目
算法·leetcode·职场和发展
老鼠只爱大米2 小时前
LeetCode经典算法面试题 #238:除自身以外数组的乘积(左右乘积数组法、分治法等多种方法详解)
算法·leetcode·分治法·算法面试·除自身以外数组的乘积·前缀乘积·左右乘积数组法
C++ 老炮儿的技术栈2 小时前
#include <filename.h> 和 #include “filename.h” 有什么区别?
linux·c语言·开发语言·c++·windows·visual studio
Ethan-D2 小时前
每日一题#21 二维 DP + 计数类
java·python·算法·leetcode·动态规划
共享家95272 小时前
力扣刷题之路
算法·leetcode·深度优先
八宝粥大朋友2 小时前
rabbitMQ-C 构建android 动态库
android·c语言·rabbitmq