zoukankan      html  css  js  c++  java
  • Plus One @LeetCode

    import java.util.Arrays;
    
    
    /**
     * Plus One
     * 
     * Given a number represented as an array of digits, plus one to the number.
     */
    public class S66 {
    
    	public static void main(String[] args) {
    		int[] digits = {9,9,9};
    //		int[] digits = {0};
    		System.out.println(Arrays.toString(plusOne(digits)));
    	}
    	
    	public static int[] plusOne(int[] digits) {
    		int i = digits.length-1;
    		int overflow = 0;		// 用来表示是否overflow了
    		// 从尾到头加
            while(i >= 0){
            	if(digits[i]+1 > 9){	// 加完大于9的情况
            		digits[i] = 0;
            		overflow = 1;
            		i--;
            	}else{		// 加完小于10的情况
            		digits[i] = digits[i]+1;
            		return digits;
            	}
            }
            
            // 这种情况是当前位数不够用,就必须新开数组,
            // 处理首位
            if(overflow > 0){
            	int[] newDigits = new int[digits.length+1];
            	System.arraycopy(digits, 0, newDigits, 1, digits.length);
            	newDigits[0] = 1;
            	newDigits[1] = 0;
            	return newDigits;
            }
            
            return digits;
        }
    
    }
    


  • 相关阅读:
    面向领域的微服务架构
    java常用工具类
    java字节码解析
    详解 Java 内部类
    MongoDB配置教程
    oracle18c相关
    VBS编辑文件夹下所有excel文档
    oracle新增主键
    sqlldr加载字符问题
    ora-00257
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3370810.html
Copyright © 2011-2022 走看看