网站域名商代理商,设计网页需要多少价格,做律师网站,网站建设怎么好1.题目
给定一个由 整数 组成的 非空 数组所表示的非负整数#xff0c;在该数的基础上加一。
最高位数字存放在数组的首位#xff0c; 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外#xff0c;这个整数不会以零开头。
2.示例
示例 1#xff1a; 输入在该数的基础上加一。
最高位数字存放在数组的首位 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外这个整数不会以零开头。
2.示例
示例 1 输入digits [1,2,3] 输出[1,2,4] 解释输入数组表示数字 123。 示例 2 输入digits [4,3,2,1] 输出[4,3,2,2] 解释输入数组表示数字 4321。 示例 3 输入digits [0] 输出[1] 3.思路
这道题看着比较简单但是也是存在有陷阱
第一点当末位数是9时候在加一时候需要进位。
其次就是当首位为9时候加一需要重新创建一个新的数组并且在新的数组的首位赋值为1即可
4.代码
class Solution {public int[] plusOne(int[] digits) {if (digits.length1 digits[0]0){digits[0] 1;}else {digits[digits.length-1]1;}for (int i digits.length-1;i0;i--){if (digits[i]10){if (digits.length 1 || i 0){digits new int[digits.length1];digits[0]1;break;}digits[i] 0;digits[i-1]1;}}return digits;}
} 会了试试挑战下一题♪∀● ●´∀♪
LeetCode150道面试经典题-- 加一(简单)_Alphamilk的博客-CSDN博客