面试题-编程题1
题干:给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 注意:数组中每个元素只存储单个数字。
可以用Python或Java语言来写!
Python语言版本:
def plus_one(digits):
    length = len(digits)
    for i in range(length - 1, -1, -1):
        if digits[i] < 9:
            digits[i] += 1
            return digits
        else:
            digits[i] = 0
    digits.insert(0, 1)
    return digits
#调用函数
print(plus_one([1,2,3]))
print(plus_one([9,9,9]))
Java语言版本:
public static int[] plusOne(int[] digits) {
    int length = digits.length;
    for (int i = length - 1; i >= 0; i--) {
        if (digits[i] < 9) {
            digits[i]++;
            return digits;
        } else {
            digits[i] = 0;
        }
    }
    int[] newDigits = new int[length + 1];
    newDigits[0] = 1;
    return newDigits;
}
//调用函数
public static void main(String[] args) {
    int[] digits = {1,2,3};
    int[] result = plusOne(digits);
    // 打印出结果
    for (int i = 0; i < result.length; i++) {
        System.out.print(result[i] + " ");
    }
 
    =====请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/tudou-22/,谢谢!!===== 
=====有任何疑问,欢迎加微信 ningmengpyn  (请备注:博客园)===== 
                    
                
                
            
        
浙公网安备 33010602011771号