您的位置:首页 > 其它

leetcode题解-66. Plus One

2017-10-27 15:59 477 查看
题目:给定一个数组表示非负整数,其高位在数组的前面,对这个整数加1。

题解:简单的大数加法,遍历数组的每位,同时处理进位,如果最后还有进位,则在数组最前面在插入1即可。

时间复杂度:O(n)

空间复杂度:O(1)

import java.util.Arrays;

public class Solution {
public static int[] plusOne(int[] digits) {
int len = digits.length;
digits[len - 1]++;
for(int i = len - 1; i > 0; i--){
if(digits[i] > 9){
digits[i] = 0;
digits[i - 1]++;
}
}
if(digits[0] == 10){
int[] newdigits = new int[len + 1];
newdigits[0] = 1;
return newdigits;
}else{
return digits;
}
}
public static void main(String[] args) {
int[] nums = {9,9,9,9};
System.out.println(Arrays.toString(plusOne(nums)));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: