|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 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.
复制代码
- class Solution {
- public int[] plusOne(int[] digits) {
-
- int i = digits.length - 1;
-
- if(digits[i]< 9){
-
- digits[i] = digits[i] + 1;
-
- return digits;
- }
-
- while(digits[i] == 9){
-
- digits[i] = 0;
-
- if(i > 0){
-
- i--;
- }
-
- }
- if(i == 0 && digits[i] == 0){
-
- digits[i] = digits[i] + 1;
-
- int[] result = new int[digits.length + 1];
-
- int j;
-
- for(j = 0; j< digits.length ; j++){
-
- result[j] = digits[j];
- }
-
- result[j] = 0;
-
- return result;
-
- }
-
- if(i == 0){
-
- digits[i] = digits[i] + 1;
-
- return digits;
-
- }
-
- digits[i] = digits[i] + 1;
-
- return digits;
-
- }
- }
复制代码 |
|