题解 | #给数组加一#

给数组加一

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;
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务