问题描述
给定一个整数数组,用数组中的数字从小到大表示数字的从左到有,要求求出大数加一后的结果。题目链接:**点我**
样例输入输出
输入:[1,2,3]
输出:[1,2,4]
输入:[9,9,9]
输出:[1,0,0,0]
问题解法
此题比较简单,直接模拟数字相加即可。代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| class Solution { public int[] plusOne(int[] digits) { int[] temp = new int[digits.length]; int carry = 1; for (int i = digits.length - 1; i >= 0; i--) { temp[i] = (digits[i] + carry) % 10; carry = (digits[i] + carry) / 10; } if (carry == 0) { return temp; } int[] result = new int[temp.length + 1]; result[0] = carry; System.arraycopy(temp, 0, result, 1, temp.length); return result; } }
|