前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Q66 Plus One

Q66 Plus One

作者头像
echobingo
发布2018-04-25 16:44:49
6710
发布2018-04-25 16:44:49
举报

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实现:
代码语言:javascript
复制
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))
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.02.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 解题思路:
  • Python实现:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档