diff --git a/LeetCode/src/main/java/leetcode/editor/cn/PlusOne.java b/LeetCode/src/main/java/leetcode/editor/cn/PlusOne.java new file mode 100644 index 0000000..e48f139 --- /dev/null +++ b/LeetCode/src/main/java/leetcode/editor/cn/PlusOne.java @@ -0,0 +1,75 @@ +//给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 +// +// 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 +// +// 你可以假设除了整数 0 之外,这个整数不会以零开头。 +// +// +// +// 示例 1: +// +// +//输入:digits = [1,2,3] +//输出:[1,2,4] +//解释:输入数组表示数字 123。 +// +// +// 示例 2: +// +// +//输入:digits = [4,3,2,1] +//输出:[4,3,2,2] +//解释:输入数组表示数字 4321。 +// +// +// 示例 3: +// +// +//输入:digits = [0] +//输出:[1] +// +// +// +// +// 提示: +// +// +// 1 <= digits.length <= 100 +// 0 <= digits[i] <= 9 +// +// Related Topics 数组 +// 👍 682 👎 0 + +package leetcode.editor.cn; + +//66:加一 +public class PlusOne { + public static void main(String[] args) { + //测试代码 + Solution solution = new PlusOne().new Solution(); + System.out.println(solution.plusOne(new int[]{9})); + } + + //力扣代码 + //leetcode submit region begin(Prohibit modification and deletion) + class Solution { + public int[] plusOne(int[] digits) { + for (int i = digits.length - 1; i >= 0; i--) { + digits[i] += 1; + if (digits[i] == 10) { + if (i == 0) { + digits = new int[digits.length + 1]; + digits[0] = 1; + } else { + digits[i] %= 10; + } + } else { + break; + } + } + return digits; + } + } +//leetcode submit region end(Prohibit modification and deletion) + +} \ No newline at end of file diff --git a/LeetCode/src/main/java/leetcode/editor/cn/PlusOne.md b/LeetCode/src/main/java/leetcode/editor/cn/PlusOne.md new file mode 100644 index 0000000..d4bb7fe --- /dev/null +++ b/LeetCode/src/main/java/leetcode/editor/cn/PlusOne.md @@ -0,0 +1,40 @@ +
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
+ +最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
+ +你可以假设除了整数 0 之外,这个整数不会以零开头。
+ ++ +
示例 1:
+ ++输入:digits = [1,2,3] +输出:[1,2,4] +解释:输入数组表示数字 123。 ++ +
示例 2:
+ ++输入:digits = [4,3,2,1] +输出:[4,3,2,2] +解释:输入数组表示数字 4321。 ++ +
示例 3:
+ ++输入:digits = [0] +输出:[1] ++ +
+ +
提示:
+ +1 <= digits.length <= 100
0 <= digits[i] <= 9