美文网首页
2018-06-19 LeetCode66

2018-06-19 LeetCode66

作者: Betrayer丶 | 来源:发表于2018-06-19 09:51 被阅读0次

题目描述

给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:

输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。

示例 2:

输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。

我的解法

从这个数的最低位加起,逢10进1,同时考虑9···9的情况。

class Solution:
    def plusOne(self, digits):
        digits[-1]=digits[-1]+1
        for i in range(len(digits))[::-1]:
            if digits[i] == 10 and i != 0:
                digits[i]=0
                digits[i-1]=digits[i-1]+1
            elif digits[i] == 10 and i == 0:
                digits[0]=0
                digits.insert(0,1)
        return digits

最优解法

很神奇,这道题目竟然没有出现超长数导致超越范围溢出的问题,直接将数组转换成一个数字就ok了。。

class Solution:
    def plusOne(self, digits):
        sum=0
        for i in digits:
            sum=10*sum+i
        return [int(x) for x in str(sum+1)]

相关文章

  • 2018-06-19 LeetCode66

    题目描述 给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组...

  • leetcode关于数组的题目

    leetcode66 Plus OneGiven a non-negative integer represen...

  • 2018-06-20

    2018-06-19 2018-06-19 姓名:汪玲玲 日期:2018年6月20日 名称:宁波万尚进出口有限公司...

  • stock list

    2018-06-19价格6.11 买入2000,价格6.24 卖出2000,最高价格6.7

  • 日精进打卡(第347天)

    2018-06-19 姓名:李义 公司:........ 组别:259期利他二组 【知~学习】 背诵 六项精进大纲...

  • 漫漫人生路,唯美食与爱不可辜负

    誓言的秘密简书作者 2018-06-19 15:57 打开App 姓名:王维刚 班级:16春中级电子班 厨艺 | ...

  • 公司活动

    公司活动 大明小盖盖 2018-06-19 09:23 · 字数 63 · 阅读 0 · 日记本 今天公司过来龙洞...

  • 简繁体字对照表,书法必备!

    【原创】2018-06-19 中网视人 一、繁体字大全 简化偏旁 讠[訁] 饣[飠] [昜] 纟[糹] [臤] 只...

  • 2018-06-19

    2018-06-19· 字数 556· 阅读 110· 日记本 姓名:周富强 公司:厦门大科机械有限公司 日精进打...

  • (读报时间)2018-06-19 .NET及相关开发资讯速递

    (读报时间)2018-06-19 .NET及相关开发资讯速递: 熬过寒冬,.NET复兴,.NET开发人员正在迎来春...

网友评论

      本文标题:2018-06-19 LeetCode66

      本文链接:https://www.haomeiwen.com/subject/hazoeftx.html