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;
}
相关推荐
玛丽莲茼蒿4 分钟前
Leetcode hot100 【中等】括号生成
算法·leetcode·职场和发展
橘子编程6 分钟前
GoF 23 种设计模式完整知识总结与使用教程
java·c语言·开发语言·python·设计模式
小欣加油6 分钟前
leetcode 128 最长连续序列
c++·算法·leetcode·职场和发展
意疏15 分钟前
【C语言】解决VScode中文乱码问题
c语言·开发语言·vscode
pwn蒸鱼26 分钟前
leetcode:92. 反转链表 II
算法·leetcode·链表
Shadow(⊙o⊙)30 分钟前
C语言学习中需要的额外函数
c语言·开发语言·学习
艾莉丝努力练剑33 分钟前
【Linux线程】Linux系统多线程(四):线程ID及进程地址空间布局,线程封装
java·linux·运维·服务器·c语言·c++·学习
ulias21243 分钟前
leetcode热题 - 2
算法·leetcode·职场和发展
yong99901 小时前
Matlab AHP层次分析法(Analytic Hierarchy Process)实现指南
c语言·matlab
无缘之缘1 小时前
蓝桥杯手把手教你备战(C/C++ B组)(最全面!最贴心!适合小白!)
c语言·c++·算法·蓝桥杯