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;
}
相关推荐
闪电悠米13 分钟前
力扣hot100-54.螺旋矩阵-模拟边界控制详解
算法·leetcode·矩阵
小肝一下16 分钟前
7. 库制作与原理
linux·c语言·操作系统·bash·shell·动静态库
春生野草30 分钟前
C基础--八大排序(个人笔记)
c语言·笔记·排序算法
IT方大同40 分钟前
C语言分支与循环语句
c语言·开发语言·算法
呜喵王阿尔萨斯2 小时前
C/C++ const -- 多义混乱
c语言·开发语言·c++
To_OC11 小时前
LC 51 N 皇后:我以为难的是回溯,结果栽在了对角线下标
javascript·算法·leetcode
人邮异步社区15 小时前
怎么把C语言学到精通?
c语言·开发语言
xiaobobo333020 小时前
C语言中宏定义宏名和宏值之间的关系
c语言·宏定义·语义型
闪电悠米1 天前
力扣hot100-73.矩阵置零-标记数组详解
算法·leetcode·矩阵
a4493153621 天前
MacBook USB-C不充电故障诊断:从PD握手到主板供电链路
c语言·开发语言·macos·电脑