加一
来源:互联网 发布:欢乐啪啪啪软件下载 编辑:程序博客网 时间:2024/04/28 14:26
题目描述:给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照大小进行排列,最大的数在列表的最前面。
样例:给定 [1,2,3] 表示 123, 返回 [1,2,4].给定 [9,9,9] 表示 999, 返回 [1,0,0,0].
其实是两个链表求和的简单版(链表求和详见:点击打开链接)。简单表现在两个方面:
1. 是数组,不是链表。数组的操作比链表简单太多了(因为有天然的下标,同时,不存在“摘链”,“链接”这些繁琐的操作)
2. 只是加1,而不是两个数组相加
思路和链表求和是一样的了。用一个整型变量add1记录是否应该进位,每一位的处理:为这一位加add1的和,再对10取余。这个思路比链表求和简单太多,不仔细讲了,有不明白的地方,可以回看上边的链接。
给出代码:
class Solution: # @param {int[]} digits a number represented as an array of digits # @return {int[]} the result def plusOne(self, digits): result = [] n = len(digits) - 1 add1 = 1 while n >= 0: temp = digits[n] + add1 result.insert(0, temp % 10) add1 = temp / 10 n -= 1 if add1 == 1: result.insert(0, 1) return result # Write your code here
需要注意第13行,最后若add1不为0,还要向前进一位。
0 0
- 加一
- 加一
- 加一
- 加一
- 加一
- 加一
- 加一
- 加一
- 加一
- 指针的加一
- Plus One 加一
- 不将就----一加
- 计蒜客019-加一
- LintCode PlusOne 加一
- 题目:加一
- lintcode-加一-407
- LintCode : 加一
- 加一(LintCode)
- list(链表)常用成员(顺序容器)----插入push_back,push_front,insert删除pop_back,pop_front,erase,clear遍历begin,end判空emp
- hive入门
- hdoj 2020 (java)绝对值排序(Math.abs()函数应用以及数组冒泡排序)
- MFC总结之CListCtrl用法及技巧
- Ubuntu 远程服务器时,将任务job.sh放在后台运行并输出日志
- 加一
- 机测,水题
- struts2 上传文件 找不到路径问题
- C++ 容器及选用总结
- phpstorm远程调试环境配置—lnmp环境
- Python代码块批量添加Tab缩进
- Ubuntu 查看cpu信息
- 详解Gson使用(五)实现百度翻译功能
- linux 进程间通信管道文件读写规则