Lintcode407 Plus One solution 题解

【题目描述】

Given a non-negative number represented as an array of digits, plus one to the number.

The digits are stored such that the most significant digit is at the head of the list.

给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。

该数字按照大小进行排列,最大的数在列表的最前面。

【题目链接】

www.lintcode.com/en/problem/plus-one/

【题目解析】

先对原数组进行处理。从数组最后一位开始往前检查,如果当前数字是<9的,说明你加1无需进位,从循环跳出即可,如果当前数字等于9,说明加1涉及进位,且加1后当前数字应记为0,继续循环处理。

当对原数组处理完后,还需要判断当前第0位是不是已经变为0了,如果已经变为0了说明是类似99+1这种,需要进位。其他则不需要。

一般对数字进行操作的题都要考虑边界,尤其是溢出问题。

【参考答案】

www.jiuzhang.com/solutions/plus-one/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,768评论 0 33
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,882评论 0 38
  • 学习能力决定一个人的未来,李笑来老师把人的学习能力分为三个层次。 第一个层次是手把手的学,看你能不能学会。 我们教...
    Angkon阅读 359评论 0 0
  • 【67岁的健身教练孙爱国说,“生活的本色就是苦,苦难这东西、你怕它,它就积累起来,你不怕它,它就减少”】 路遥生前...
    贺小桶阅读 219评论 0 1
  • 今天我刚刚分手,现在的我不仅在思考什么是爱情,爱情应该是什么样子的,什么颜色的,结婚的伴侣是要合适还是爱情。 忘掉...
    dd48e0f06aa9阅读 340评论 0 0