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.
public int[] plusOne(int[] digits) { int length=digits.length; if(length==0||digits==null) return digits; //carry表示进位 int carry=1; for(int i=length-1;i>=0;i--) { int val=digits[i]+carry; carry=val/10; digits[i]=val; if(carry==0) return digits; } int res[]=null; if(carry>=1){ //int 数组默认值为0 res=new int[length+1]; //最高位置1 就可以,其他位,全是0 res[0]=carry; } return res; }