0
点赞
收藏
分享

微信扫一扫

【LeetCode 66】加一

幺幺零 2022-02-08 阅读 34
leetcode
    public static int[] plusOne(int[] digits) {
    	int l = digits.length;
    	int[] ret = new int[l+1];
    	int remain = (digits[l-1] + 1) / 10;
    	digits[l-1] = (digits[l-1] + 1) % 10;
    	if (remain == 0)
    		return digits; // 最后一位<9
    	
    	for (int i = l-2; i >= 0; i--)
    	{
    		int tmp = digits[i] + remain;
    		digits[i] = tmp % 10;
    		remain = tmp / 10;
    		if (remain == 0)
    			return digits; // 中间有位<9
    	}
    	
    	ret[0] = 1;
//    	for (int i = 1; i < l+1; i++)
//    		ret[i] = digits[i-1];
    	return ret; // 需要增加一位
    }
举报

相关推荐

0 条评论