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;
}
相关推荐
学会沉淀。2 小时前
ACM社团第一次测试题解(禁止直接复制粘贴提交)
c语言·c++·算法
向阳12183 小时前
LeetCode35:搜索插入位置
java·算法·leetcode
xinghuitunan6 小时前
刷题统计(C语言)
c语言·蓝桥杯
skywind7 小时前
支持 Win10 的网络环境模拟(丢包,延迟,带宽)
c语言·网络·c++·windows·udp·tcp
夏天的遥遥漓曦7 小时前
蓝桥杯备考——算法
c语言·python·算法·蓝桥杯
混迹网络的权某9 小时前
蓝桥杯真题——good-sequence(C语言)
c语言·开发语言·数据结构·考研·算法·蓝桥杯·改行学it
Lojarro10 小时前
【java】实战-力扣题库:移除元素
数据结构·算法·leetcode
爬菜10 小时前
c中柔性数组
c语言
hn小菜鸡10 小时前
LeetCode 143.重排链表
算法·leetcode·链表
kuiini10 小时前
C 语言学习-05【数组】
c语言·学习