本文主要是介绍【LintCode 简单】407. 加一,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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 herelength=len(digits)num=0for i in range(length):num+=digits[i]*(10**(length-i-1))num+=1l=[]while num:l.append(num%10)num=num/10l.sort(reverse=True)return l
若最高位在前的顺序排序,则修改倒数第二行代码为:l.reverse()。
这篇关于【LintCode 简单】407. 加一的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!