一:題目描述
給定一個(gè)由整數(shù)組成的非空數(shù)組所表示的非負(fù)整數(shù)圾笨,在該數(shù)的基礎(chǔ)上加一教馆。
最高位數(shù)字存放在數(shù)組的首位, 數(shù)組中每個(gè)元素只存儲(chǔ)單個(gè)數(shù)字擂达。
你可以假設(shè)除了整數(shù) 0 之外土铺,這個(gè)整數(shù)不會(huì)以零開頭。
二:示例
示例 1:
輸入: [1,2,3]
輸出: [1,2,4]
解釋: 輸入數(shù)組表示數(shù)字 123
示例 2:
輸入: [4,3,2,1]
輸出: [4,3,2,2]
解釋: 輸入數(shù)組表示數(shù)字 4321
三:解題思路
1:從右向左依次遍歷板鬓,如果當(dāng)前值大于9悲敷,則賦值0,小于則+1俭令,同時(shí)return后德。
2:如果能夠執(zhí)行到下一個(gè)數(shù)值計(jì)算,則說(shuō)明前一個(gè)右側(cè)數(shù)值肯定大于9抄腔,那么當(dāng)前值只需要判斷是否小于9瓢湃,小于則賦值0,同時(shí)return,否則+1.
3:特殊情況999,99等赫蛇。需要判斷首位值是否0箱季,是則增加數(shù)組長(zhǎng)度。
var plusOne = function(digits) {
let len=digits.length-1
for(let i=len;i>=0;i--){
if(digits[i]<9){
digits[i]++
return digits
}
digits[i]=0
}
if(digits[0]==0){
digits.unshift(1)
}
return digits
};