Q66 Plus One

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

You may assume the integer do not contain any leading zero, except the number 0 itself.

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

解题思路:

这道题的意思是给你一个非负整数,它被拆成一个列表,如 939 变成 [9,3,9],然后让你实现+1操作。简单方法就是从后往前判断各个数字,逢九进1。

Python实现:
class Solution:
    def plusOne(self, digits):
        """
        :type digits: List[int]
        :rtype: List[int]
        """
        if digits[-1] != 9:  # 如果各位不为9,则直接加1即可
            digits[-1] += 1
            return digits
        else:
            i = len(digits) - 1
            bit = 1
            while i >= 0:
                if digits[i] + bit == 10:
                    digits[i] = 0
                    bit = 1
                else:
                    digits[i] += 1
                    bit = 0
                    break  # 不再向前进位
                i -= 1
        if bit == 1:  # 如果最前面仍然产生进位,则插入1,比如 99 -> 100
            digits.insert(0,1)
        return digits

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

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,486评论 0 10
  • 感叹时光飞逝,在我的骨子里,我一直是一个坚强执着的人。从刚开始选择传统生意。到去年兼职选择洛卡滋微商创业,一路艰辛...
    阿小莲阅读 219评论 0 0
  • 季羡林先生在中国的文坛上是一颗耀眼的珍珠。他的这本《人生的境界》收录了他的多篇人生感悟,有些是给一本书写序之人生随...
    良人犹美人阅读 227评论 0 4
  • 打死也不说,在这混乱快神经病的时候,反6的质疑,就他妈的打死也不说,看能不能憋死自己,如果还没有死,再他奶奶的再来说吧!
    郭福顺阅读 209评论 0 0