LeetCode每日一题|66. 加一

167 阅读1分钟

题目描述

题目链接:leetcode-cn.com/problems/pl… image.png

思路分析

加一的实现是给数字的最后一位加一,如果等于十则往前进位。所以可以从数组最后一位往前遍历,如果当前位是9则当前位置0,否则当前位加1且退出循环。循环结束后判断数组的第一位是否为0,如果为0则表示该位有往前进位则在数组前插入一个1。

代码

var plusOne = function(digits) {
  for(let i = digits.length-1;i>=0;i--) {
    digits[i]++;
    if(digits[i]==10) {
      digits[i]=0;
    } else {
      break;
    }
  }
  if(digits[0]==0) {
    digits.unshift(1);
  }
  return digits;
};