題目來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/plus-one
給定一個由整數(shù)組成的非空數(shù)組所表示的非負(fù)整數(shù)测暗,在該數(shù)的基礎(chǔ)上加一央串。
最高位數(shù)字存放在數(shù)組的首位, 數(shù)組中每個元素只存儲單個數(shù)字碗啄。
你可以假設(shè)除了整數(shù) 0 之外质和,這個整數(shù)不會以零開頭。
示例 1:
輸入: [1,2,3]
輸出: [1,2,4]
解釋: 輸入數(shù)組表示數(shù)字 123稚字。
示例 2:
輸入: [4,3,2,1]
輸出: [4,3,2,2]
解釋: 輸入數(shù)組表示數(shù)字 4321饲宿。
代碼如下:
class Solution {
public int[] plusOne(int[] digits) {
if(digits.length > 0){
int tmp = digits.length - 1;
if(digits[tmp] < 9){
digits[tmp] += 1;
}else{
while(tmp >= 0 && digits[tmp] == 9 ){
digits[tmp] = 0;
tmp--;
}
if(tmp < 0){
//需要擴(kuò)展數(shù)組
digits = new int[digits.length+1];
digits[0] = 1;
}else{
digits[tmp] += 1;
}
}
}
return digits;
}
}