C语言 | Leetcode C语言题解之第66题加一

题目:

题解:

cpp 复制代码
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* plusOne(int* digits, int digitsSize, int* returnSize){

    for(int i = digitsSize - 1; i >= 0; --i){
        digits[i] = digits[i] + 1;//最后元素+1判断是不是10
        //如果当前元素不为10,直接返回数组
        if(digits[i] != 10){
            *returnSize = digitsSize;
            return digits;
        }
        //第一个元素不为10,后面元素均为10的情况
        if(digits[i] == 10)
            digits[i] = 0;
    }
    //元素全为9开辟新数组
    int* ans = malloc(sizeof(int) * (digitsSize + 1));
    memset(ans, 0, sizeof(int) * (digitsSize + 1));//全部置0
    ans[0] = 1;
    *returnSize = digitsSize + 1;
    return ans;
}
相关推荐
嵌入式修炼师34 分钟前
C语言 enum 的详细解析:用法、注意事项与易错点
c语言
一只_程序媛1 小时前
【leetcode hot 100 42】接雨水
java·算法·leetcode
Dovis(誓平步青云)1 小时前
【数据结构】二叉树(门槛极低的系统理解)
c语言·数据结构·算法
朔北之忘 Clancy1 小时前
2022 年 12 月青少年软编等考 C 语言五级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
折枝寄北1 小时前
(21)从strerror到strtok:解码C语言字符函数的“生存指南2”
c语言·开发语言
厂太_STAB_丝针2 小时前
【自学嵌入式(11)闪存文件系统的应用】
c语言·单片机·嵌入式硬件
嵌入式码喽2 小时前
LeetCode 热门100题-搜索二维矩阵 II
算法·leetcode·矩阵
XYLoveBarbecue2 小时前
C++ 二叉树的前序遍历 - 力扣(LeetCode)
c++·leetcode
k要开心3 小时前
C语言综合案例:学生成绩管理系统
c语言·开发语言
_多拉不懂A梦3 小时前
C语言初始化内存分配和销毁
c语言·开发语言