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;
}
相关推荐
liebe1*14 小时前
C语言程序代码(四)
c语言·数据结构·算法
夏鹏今天学习了吗5 小时前
【LeetCode热题100(56/100)】组合总和
算法·leetcode·职场和发展
chao1898445 小时前
C 文件操作全解速览
服务器·c语言·c#
微笑尅乐5 小时前
三种方法解开——力扣3370.仅含置位位的最小整数
python·算法·leetcode
青光键主5 小时前
C语言内功强化之const修饰指针
c语言·开发语言
hazy1k7 小时前
51单片机基础-TFT LCD 显示(ILI9341,SPI 4线)
c语言·stm32·单片机·嵌入式硬件·51单片机
奔跑吧邓邓子8 小时前
【C语言实战(63)】从0到1:51单片机GPIO控制实战秘籍
c语言·51单片机·开发实战·gpio控制实战
向前阿、10 小时前
数据结构从基础到实战——排序
c语言·开发语言·数据结构·程序人生·算法
Doro再努力10 小时前
数据结构04:链表的概念及实现单链表
c语言·数据结构
矮油0_o11 小时前
15.套接字和标准I/O
服务器·c语言·网络·网络编程·socket