66. Plus One
Given a non-empty array of digits representing a non-negative integer, plus one to the integer.
The digits are stored such that the most significant digit is at the head of the list, and each element in the array contain a single digit.
You may assume the integer does not contain any leading zero, except the number 0 itself.
Example 1: Input: [1,2,3] Output: [1,2,4] Explanation: The array represents the integer 123. Example 2: Input: [4,3,2,1] Output: [4,3,2,2] Explanation: The array represents the integer 4321.
難度:easy
題目:
給定一個由單個數字組成的非空陣列來表示一個整數,為這個整數加上1.
數字的儲存方式使得最有效數字位於列表的開頭,陣列中的每個元素都包含一個數字。
假定陣列組成的整數不以0開頭,除了數字0本身。
思路:找出第一個非9的數字加1返回。如果為9置0繼續。
Runtime: 0 ms, faster than 100.00% of Java online submissions for Plus One.
Memory Usage: 26.4 MB, less than 42.73% of Java online submissions for Plus One.
class Solution { public int[] plusOne(int[] digits) { for (int i = digits.length - 1; i >= 0; i--) { if (digits[i] < 9) { digits[i] += 1; return digits; } else { digits[i] = 0; } } if (0 == digits[0]) { int[] result = new int[digits.length + 1]; result[0] = 1; for (int i = 0; i < digits.length; i++) { result[i + 1] = digits[i]; } return result; } return new int[0]; } }