您的位置:首页 > 编程语言 > Python开发

【LintCode 简单】407. 加一

2018-01-25 21:31 417 查看
1.问题描述:

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

该数字按照大小进行排列,最大的数在列表的最前面。(联系LintCode 已更正为最高位在最前面)

2.样例:

给定 
[1,2,3]
 表示 123, 返回 
[1,2,4]
.
 (样例错误)
给定 
[9,9,9]
 表示 999, 返回 
[1,0,0,0]
.

3.代码:
class Solution:
"""
@param: digits: a number represented as an array of digits
@return: the result
"""
def plusOne(self, digits):
# write your code here
length=len(digits)
num=0
for i in range(length):
num+=digits[i]*(10**(length-i-1))
num+=1
l=[]
while num:
l.append(num%10)
num=num/10
l.sort(reverse=True)
return l


若最高位在前的顺序排序,则修改倒数第二行代码为:l.reverse()。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python