加一
加一
一、题目描述
给定一个非空数组,数组的元素都是单个数字。这个数组的各个元素组成一个整数。给这个整数加一。输出加一后的数组。
实例
输入:digits = [1,2,3]
输出:[1,2,4]
输入:digits = [4,3,2,1]
输出:[4,3,2,2]
输入:digits = [0]
输出:[1]
输入:digits = [9]
输出:[1,0]
二、题目分析
第一眼以为就是给每个数组最后一位元素加一即可。发现遇到9需要进位。酒需要判断是否需要进位,从而判断最后一位是否为9.
三、解题思路
方法1
倒序判断最后一位是否为9。是否需要进位。但是发现倒数第二位是9,还是需要进位。只需要判断有几个连续9,即可。9前面的一位加一,后面都归0;还有一种情况,就是整个数组都为9,则数组长度加一。第一位为1,其余都为0;
代码实现
public int[] plusOne(int[] digits) {
int n = digits.length;
for(int i = n-1; i>=0;i--){
if(digits[i] !=9){
digits[i] = digits[i]+1;
for(int j=i+1; j<n; j++){
digits[j] = 0;
}
return digits;
}
}
int[] arr = new int[n+1];
arr[0] = 1;
for(int i=1; i< arr.length; i++){
arr[i] = 0;
}
return arr;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)