数组加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
class Solution { public int[] plusOne(int[] digits) { for (int i = digits.length - 1; i >= 0; i--) { if (digits[i] == 9) { digits[i] = 0; } else { digits[i] += 1; return digits; } } //如果所有位都是进位,则长度+1 digits= new int[digits.length + 1]; digits[0] = 1; return digits; } }
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/plus-one
主要思路:该题大意是用一个输入数组表示一个数字,然后这个数的基础上加一返回一个新的数组。主要考虑的是数组末尾是否有9,有几个9(涉及进位,从而可能会影响数组长度),所以采用逆序遍历,将9改为0,如果不等9就加1,全部为9的情况则是原数组全部元素赋值为0,再创建一个比原来数组长度多一的新数组将首位赋值为1。以上就将全部情况都考虑到了。

浙公网安备 33010602011771号