066 Plus One
给定一个非负整数组成的非空数组,给整数加一。
可以假设整数不包含任何前导零,除了数字0本身。
最高位数字存放在列表的首位。
详见:https://leetcode.com/problems/plus-one/description/
Java实现:
方法一:
class Solution { public int[] plusOne(int[] digits) { int size=digits.length; if(size==0||digits==null){ return null; } for(int i=size-1;i>=0;--i){ if(digits[i]==9){ digits[i]=0; }else{ digits[i]=digits[i]+1; return digits; } } if(digits[0]==0){ int[] res=new int[size+1]; res[0]=1; for(int i=0;i<size;++i){ res[i+1]=digits[i]; } return res; } return digits; } }
方法二:
class Solution { public int[] plusOne(int[] digits) { int size=digits.length; if(size==0||digits==null){ return null; } int n=1; for(int i=size-1;i>=0;--i){ int a=digits[i]+n; digits[i]=a%10; n=a/10; } if(n==1){ int[] res=new int[size+1]; res[0]=1; for(int i=0;i<size;++i){ res[i+1]=digits[i]; } return res; } return digits; } }
参考:https://www.cnblogs.com/grandyang/p/4079357.html