加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

Given a non-empty array of digits representing a non-negative integer, plus one to the integer.

The digits are stored such that the most significant digit is at the head of the list, and each element in the array contain a single digit.

You may assume the integer does not contain any leading zero, except the number 0 itself.

示例 1:

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

示例 2:

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

java:

class Solution {
public int[] plusOne(int[] digits) {
for( int i=digits.length;i>=0;i--){
if(digits[i]+1==10){
digits[i]=0;
}else {
digits[i]+=1;
break;
}
}
if(digits[0]==0){
int[] digits2=new int[digits.length+1];
digits2[0]=1;
return digits2;
}else {
return digits;
}
}
}

思路:

​ 指针从最后往前移动,若值为10逐个加一,并赋值0。不等于10则退出循环。首位如果为是0则证明需要进一。这里新建一个长度比原数组大一。只需首位赋值1即可。

python3:

class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
""" :type digits:int
:return: int
"""
num = 0
for i in range(len(digits)):
num = num*10 + digits[i]
return [int(i) for i in str(num+1)]

python3则可以有很多实现方法,可以像以上java那种。

可以把数组digits倒置,reversed(digits)然后逐项加1,最后如果为0,则直接对数组下一项赋值1(python3数组可动态扩展)。最后返回倒置数组。

再就是如上转换成string方式。先把数组转成一个数字,然后加一,最后转换字符串逐个输出char字符并强制转换int型

最新文章

  1. ros::spin() 和 ros::spinOnce() 区别及详解
  2. Mac 下如何使用 Tree 命令
  3. mongoose学习笔记1--基础知识1
  4. webform FileUpload控件实例应用 上传图片
  5. Android 注解的一些应用以及原理
  6. POJ3414 Pots BFS搜素
  7. Protobuf-net学习笔记
  8. 优麒麟(UbuntuKylin)不是国产Linux操作系统
  9. 修改项目工程名 iOS
  10. Linux文件系统简介及常用命令
  11. 使用npm命令,而不用cnpm命令,也可以得到同样的体验
  12. Python实现简单的HttpServer
  13. java中如何获得方法中的参数名
  14. idea 用tomcat运行javaWeb
  15. 8,EasyNetQ-多态发布和订阅
  16. fish shell 下gopath的设置问题
  17. svn: E200009: 'lib/systemd/system/dropbear@.service': a peg revision is not allowed here problem
  18. wrote a programming language
  19. Spring源码学习之BeanFactory体系结构
  20. [Err]1418 This function has none of DETERMINISTIC,NO SQL,or R

热门文章

  1. __init__、__str__、__del__方法
  2. 【bzoj4590】[Shoi2015]自动刷题机
  3. servlet container:tomcat jetty and undertow
  4. Sqoop异常解决ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter问题
  5. 三种解密 HTTPS 流量的方法介绍
  6. android 添加手机短信,获取手机短信,删除手机短信和修改手机短信
  7. RDA 互斥锁的使用
  8. [Shell学习笔记] read命令从键盘或文件中获取标准输入(转载)
  9. P3043 [USACO12JAN]牛联盟Bovine Alliance(并查集)
  10. ACM_下一个排列