[抄题]:

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.

给定 [1,2,3] 表示 123, 返回 [1,2,4].

给定 [9,9,9] 表示 999, 返回 [1,0,0,0].

[暴力解法]:

时间分析:

空间分析:

[奇葩输出条件]:

[奇葩corner case]:

[思维问题]:

不知道对进不进位如何分类。提前return就无忧了

[一句话思路]:

[输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

[画图]:

[一刷]:

  1. 不需要对answer数组的后面若干位赋值了,初始化时自动=0。感觉是针对此题特殊的
  2. 有角标循环的时候,提前备注:0- n-1,无论正序、倒序

[二刷]:

[三刷]:

[四刷]:

[五刷]:

[五分钟肉眼debug的结果]:

[总结]:

备注0 to n -1

[复杂度]:Time complexity: O(n) Space complexity: O(n)

[英文数据结构或算法,为什么不用别的数据结构或算法]:

[关键模板化代码]:

for (int i = n - 1; i >= 0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
}else {
digits[i] = 0;
}
}

[其他解法]:

[Follow Up]:

[LC给出的题目变变变]:

369. Plus One Linked List dummynode要想到,两根指针也行 我还是太天真

[代码风格] :

public class Solution {
/**
* @param digits: a number represented as an array of digits
* @return: the result
*/
public int[] plusOne(int[] digits) {
//not carry
int n = digits.length;
//0 to n-1 whenever
for (int i = n - 1; i >= 0; i--) {
if (digits[i] < 9) {
digits[i]++;
return digits;
}else {
digits[i] = 0;
}
}
//carry, need new array
int[] answer = new int[n + 1];
answer[0] = 1;
return answer;
}
}

最新文章

  1. Akka-actor使用入门
  2. Pycharm快捷键
  3. 解决win10无法完成更新 正在撤销更改
  4. 关于spring配置文件properties的问题
  5. 12岁的少年教你用Python做小游戏
  6. UINavigationController 子控制器管理原理
  7. linux查看硬件信息及驱动设备相关整理
  8. php-LAMP试题
  9. 2014-08-29 Last Day
  10. [LeetCode] Word Search [37]
  11. Function 语意学
  12. JavaScript学习笔记之 数组方法一 堆栈 和队列
  13. oracle数据库连接无响应的解决
  14. HDU 5521 Meeting
  15. ARM裸机开发中内存管理库RT_HEAP的使用
  16. 每天一个linux命令(40)--route命令
  17. 【java设计模式】【创建模式Creational Pattern】单例模式Singleton Pattern
  18. qt 字符数组如何转换字符串?
  19. 深入理解JVM(七)——性能监控工具
  20. 十分钟带你读懂《增长黑客》zz

热门文章

  1. Oracle 之 配置HugePages内存
  2. foreach(PHP学习)
  3. erlang的调试配置
  4. Git出现提交错误--Push to origin/master was rejected(转)
  5. Java-Runoob:Java Stream、File、IO
  6. ApacheOFBiz的相关介绍以及使用总结(二)
  7. Servlet3.0的简单使用
  8. 【洛谷】P2904 [USACO08MAR]跨河River Crossing(dp)
  9. 枚举生成1~n的排序
  10. mongodb的安装(linux下)