[LeetCode] 66. Plus One Java
题目:
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
题意及分析:一个整数一数组形式展示,高位在前,整数加一之后仍然用数组表示,求数组。
代码:
class Solution { public int[] plusOne(int[] digits) { if(digits==null || digits.length==0) return digits; int[] res = new int[digits.length]; digits[digits.length-1]++; int count = 0; int sum = 0; for(int i = digits.length-1;i>=0;i--){ sum = count + digits[i]; if(sum >= 10){ res[i] = (sum) % 10; count = (sum) / 10; }else{ res[i] = sum; count = 0; } } if(sum <10) return res; else{ int[] a = new int[res.length+1]; a[0] = 1; return a; } } }