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;
}
相关推荐
GalaxyPokemon17 分钟前
LeetCode - 76. 最小覆盖子串
运维·服务器·数据结构·算法·leetcode
梦境虽美,却不长1 小时前
C语言 学习 文件操作(开关,读写,定位,大小)操作 2025年6月8日12:19:24
c语言·开发语言·学习
蒟蒻小袁3 小时前
力扣面试150题--实现Trie(前缀树)
leetcode·面试·c#
大白曾是少年4 小时前
哈希表三种数据结构在leetcode中的使用情况分析
数据结构·leetcode·散列表
@老蝴9 小时前
C语言 — 通讯录模拟实现
c语言·开发语言·算法
TGB-Earnest13 小时前
【leetcode-合并两个有序链表】
javascript·leetcode·链表
GEEK零零七13 小时前
Leetcode 3299. 连续子序列的和
算法·leetcode·动态规划
蒟蒻小袁14 小时前
力扣面试150题--单词接龙
算法·leetcode·面试
学习噢学个屁15 小时前
基于STM32汽车温度空调控制系统
c语言·stm32·单片机·嵌入式硬件·汽车
共享家952716 小时前
c语言(重点)
c语言·数据结构·算法