加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。
例:

输入:[1,2,3]
输出:[1,2,4]
解释:输入数组表示数字123

实例2:

输入:[4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字4321


整体思路就是从数组最后一个元素判断是否为9或者0,若为9或0则将该元素变0前一位进一,若不为0,则直接进一。这两个情况都是不用新创建数组的,返回原来的数组。另一种情况就是999这样的数字,需要新创建一个数组(比原数组大一位),并把新数组里的元素置为0第一位置为1,再返回新数组。
C语言版本实现如下:

#include<stdio.h>
#include<stdlib.h>
//创建一个返回int *的函数指针,因为最后要有一个数组来接受函数的返回值
//int *digits参数接受数组,digitsSize代表数组的大小
int* plusOne(int* digits, int digitsSize, int* returnSize)
{int i;//申请了一个比原数组大的数组int* ree = (int*)malloc((digitsSize + 1) * sizeof(int));for (i = digitsSize - 1; i >= 0; i--){if (digits[i] < 9){digits[i] = digits[i] + 1; break;}else{digits[i] = 0;}}//全为9的情况if (digits[0] == 0){int j;for (j = i; j < digitsSize + 1; j++){ree[j] = 0;}ree[0] = 1;*returnSize = digitsSize + 1;return ree;}else{*returnSize = digitsSize;return digits;}free(ree);ree = NULL;}int main()
{int digits[] = {9,9,9 };int returnSize;//returnsize是数组的大小,且是全局变量int* arr = plusOne(digits, 3, &returnSize);for (int i = 0; i < returnSize; i++){printf("%d ", arr[i]);}return 0;
}
``

Leetcode C语言 “加一”相关推荐

  1. QT多国语言加载qm文件不起效果问题总结

    请确保qm的文件路径正确,该文件程序一定能找得到. 当有多个qm文件时,后加载的可能会覆盖掉前期加载的,请检查是不是后加载的qm导致多国语言失败. 请检查QTranslator对象在窗口.程序生存期内 ...

  2. python调用r语言加载包错误_Python调用R语言

    网络上经常看到有人问数据分析是学习Python好还是R语言好,还有一些争论Python好还是R好的文章.每次看到这样的文章我都会想到李舰和肖凯的<数据科学中的R语言>,书中一直强调,工具不 ...

  3. 德国留学语言c1,德国留学 纯语言签证和语言加留学签的区别介绍

    [跟着沪江走,高分在招手]·[留学资讯] 1.概念: 首先是纯语言签证,这是一种签证的类型,就是纯粹以学习德语为目的的签证,到德国之后就是读语言班,学习德语,不能从事其他事情. 然后是语言加留学签证, ...

  4. Leetcode 592. 分数加减运算 C++

    Leetcode 592. 分数加减运算 题目 给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果. 这个结果应该是不可约分的分数,即最简分数. 如果最终结果是一个整数,例如 ...

  5. c++语言表白超炫图形_教你用C语言加图形库打造炫酷表白连连看

    图1 今天小编用简单的C语言知识写一个连连看的游戏,但是是有含义的哈,游戏玩完之后又是属于一个表白程序,也感觉不错的哦. 下面小编把全部的代码发出来一下,以及效果图发一下,最终的话把涉及的知识点也讲解 ...

  6. 用devc++表白_教你用C语言加图形库打造炫酷表白连连看

    图1 今天小编用简单的C语言知识写一个连连看的游戏,但是是有含义的哈,游戏玩完之后又是属于一个表白程序,也感觉不错的哦. 下面小编把全部的代码发出来一下,以及效果图发一下,最终的话把涉及的知识点也讲解 ...

  7. LeetCode 592. 分数加减运算(字符串+最大公约数)

    1. 题目 给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果. 这个结果应该是不可约分的分数,即最简分数. 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分母 ...

  8. 如何为prel语言加载模块_WebAssembly 系列(第四部分)- 创建和使用WebAssembly模块...

    原文链接 这是 WebAssembly 系列的第四篇,如果你没读过第一篇,我建议你读下. WebAssembly 是除了 JavaScript 外另一种在网页上面运行的编程语言.在过去,假如想要在浏览 ...

  9. python调用r语言加载包错误_Python中调用R语言包指南.docx

    Python中调用R语言包指南R语言是非常强大的做统计分析和建模方面的开源软件,它有非常丰富的统计软件包,做统计可以说只有你想不到的,没有R办不到的.Python又是当下最流行的编程软件之一,Pyth ...

最新文章

  1. Codeforces Round #649 (Div.2)题解
  2. php解析QQmv直链,网易云音乐直链解析API源代码^-^
  3. 软件架构解读与架构师角色培养——希赛嘉宾聊天实录
  4. Excel多因素不重复方差分析
  5. 前端学习(1165):扩展运算符01
  6. vue2.x vant2.x H5 移动端脚手架
  7. SQL Server 2005 安装后,没有Management Studio管理工具的解决办法
  8. python 逐行读取文件_Python fileinput模块:逐行读取多个文件
  9. Mac上使用CleanMyMac彻底擦除文件详细教程
  10. 驱动设计ARM(6410)-按键驱动0基础知识点
  11. 应急响应-winlinux分析后门勒索病毒攻击
  12. BorisFX Sapphire 2019 for OFX Mac使用教程
  13. 七夕撒狗粮,结婚五周年
  14. 棋牌游戏网站支付接口那些事儿
  15. input[type=file]如何屏蔽“未选择任何文件”
  16. 串口调试助手中设置快捷键
  17. 【学习笔记】到底是谁先开枪?——网络游戏同步机制初探
  18. 线程八—— 线程插队 join()
  19. ros2_control官方文档
  20. win10病毒和威胁防护无法重新启动解决方法

热门文章

  1. HDR视频的编码参数详解
  2. python如何连redis_python连接redis的方法
  3. css首行缩进字符间距行高_黑暗代码风格的学院:换行,间距和缩进
  4. 前端web页面防截屏水印生成方案(网页水印+图片水印)
  5. 区块链/BlockChain+ProofOfWork
  6. 【Python】破解摩斯密码
  7. tlc2543 多通道选择 错误
  8. 安卓手机远程控制app
  9. 【CTFhub】web-信息泄露-备份文件下载-网站源码_WriteUp
  10. LeetCode 14.最长公共前缀(字符串)