题解 | #给数组加一#
给数组加一
https://www.nowcoder.com/practice/e20d6e18e75941b6a5b7b33ffa7b8d4d
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型一维数组 * @return int整型一维数组 */ public int[] plusOne (int[] nums) { // write code here // 记录十位数 int val = 0; // 获取数组的最后一个元素,并且加一 nums[nums.length - 1] = nums[nums.length - 1] + 1; for (int i = nums.length - 1; i >= 0; i --) { int sum = nums[i] + val; if (sum > 9) { nums[i] = sum % 10; val = sum / 10; } else { nums[i] = sum; val = 0; } } // 判断首元素是否大于9, 如果大9,在头部插入一个元素 if (val > 0 ) { int[] newArray = new int[nums.length + 1]; newArray[0] = val; System.arraycopy(nums, 0, newArray, 1, nums.length); return newArray; } else { return nums; } } }