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;
}
相关推荐
2201_7588754420 小时前
LeetCode:19. 删除链表的倒数第 N 个结点
算法·leetcode·链表
Wenhao.20 小时前
LeetCode 合并K个升序链表
leetcode·链表·golang
杨福瑞20 小时前
C语言数据结构:算法复杂度(2)
c语言·开发语言·数据结构
DuHz20 小时前
C程序中的循环语句
c语言·嵌入式硬件·软件工程
一念&21 小时前
每日一个C语言知识:C 指针
c语言·开发语言
薰衣草233321 小时前
hot100练习-11
算法·leetcode
Q741_1471 天前
C++ 面试基础考点 模拟题 力扣 38. 外观数列 题解 每日一题
c++·算法·leetcode·面试·模拟
deng-c-f1 天前
Linux C/C++ 学习日记(22):Reactor模式(二):实现简易的webserver(响应http请求)
linux·c语言·网络编程·reactor·http_server
L_09071 天前
【Algorithm】二分查找算法
c++·算法·leetcode
朱嘉鼎1 天前
C语言之可变参函数
c语言·开发语言