面试题-编程题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号