面试题-编程题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 (请备注:博客园)=====