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;
}
相关推荐
切糕师学AI7 分钟前
位带操作(Bit-Banding)是什么?
c语言·arm·嵌入式开发·cortex-m·位带操作
Aspect of twilight12 分钟前
LeetCode华为大模型岗刷题
python·leetcode·华为·力扣·算法题
2301_8079973823 分钟前
代码随想录-day47
数据结构·c++·算法·leetcode
学习路上_write33 分钟前
嵌入式系统bringup指南:软硬件调试
c语言·单片机·嵌入式硬件
Elias不吃糖33 分钟前
LeetCode每日一练(3)
c++·算法·leetcode
say_fall34 分钟前
C语言编程实战:每日一题 - day7
c语言·开发语言
小龙报1 小时前
《算法通关指南数据结构和算法篇(2)--- 链表专题》
c语言·数据结构·c++·算法·链表·学习方法·visual studio
醉颜凉1 小时前
环形房屋如何 “安全劫舍”?动态规划解题逻辑与技巧
c语言·算法·动态规划
望眼欲穿的程序猿2 小时前
Win系统Vscode+CoNan+Cmake实现调试与构建
c语言·c++·后端
星轨初途3 小时前
数据结构排序算法详解(2)——选择排序(附动图)
c语言·数据结构·经验分享·笔记·b树·算法·排序算法