加一

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

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

你可以假设除了整数 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 = 0for 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型

转载于:https://www.cnblogs.com/zhangzhe532/p/10970627.html

Leetcode加一 (java、python3)相关推荐

  1. Leetcode怎么调试java代码,IDEA2020.1使用LeetCode插件运行并调试本地样例的方法详解...

    环境: idea2020.1 插件: LeetCode-editor 6.7 一.IDEA安装LeetCode插件 安装完成重启idea 打开插件 URL可以选择国服和世界服.LoginName和Pa ...

  2. java加载并运行虚拟机_《深入理解Java虚拟机》- Java虚拟机是如何加载Java类的?...

    Java虚拟机是如何加载Java类的?  这个问题也就是面试常问到的Java类加载机制.在年初面试百战之后,菜鸟喜鹊也是能把这流程倒背如流啊!但是,也只是字面上的背诵,根本就是像上学时背书考试一样. ...

  3. jvm面试2 jvm如何加载java代码? JVM知识重点:内存模型和GC

    jvm如何加载java代码? native方法forName0 JVM知识重点:内存模型和GC' 注意:jvm是一个内存中的虚拟机 下面是Class类中,我们常用的forName方法 @CallerS ...

  4. win7ie11调用java失败,win7纯净版系统下ie11无法加载java插件

    在win7纯净版系统中,我们会使用系统自带IE11浏览器来上网,最近有用户在使用IE11上网的时候无法加载java插件,导致网页无法全部显示,我们碰到这个问题应该怎么解决呢?下面给大家讲解一下win7 ...

  5. leetcode 组合总和(Java)

    leetcode题目 组合总和 -- leetcode 39 题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target , 找出 candidates 中所有可以使数字和为 ...

  6. leetcode 相交链表 java

    相交链表 题干 编写一个程序,找到两个单链表相交的起始节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5] ...

  7. LeetCode(加一)

    LeetCode(加一) 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以 ...

  8. linux firefox applet,在HTTPS上的Firefox中加载Java Applet

    我们开发了一个分析应用程序,它使用特殊的Java小程序(由IBM开发)来查看一些数据.这是一个在Apache上运行的Django应用程序.一切工作正常,直到我们转移到SSL.这种行为非常奇怪,我们感到 ...

  9. aes 256 cbc java,AES256加解密java语言实现

    AES256加解密java语言实现 写在前面 基于项目安全性需要,有时候我们的项目会使用AES 256加解密算法.以下,是针对实现AES256 Padding7加密算法实现的关键步骤解析以及此过程遇到 ...

  10. leetcode 66. 加一-java简短代码实现

    题目所属分类 模拟加法 原题链接 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外 ...

最新文章

  1. 《精通Nginx》——2.8 完整的样本配置文件
  2. struts2.0获取各种表单的数据
  3. 【java实训课】web网页相关知识点总结
  4. 【专题介绍】视频内容生产与消费创新(Part2)
  5. 如何编写第一个 ngrx Effect 类
  6. java高级----Thread之CyclicBarrier的使用
  7. 如何在通达信软件上随意画图_通达信指标公式编写教程:绘图函数DRAWLINE、DRAWTEXT 等...
  8. KnockOutJS(一)
  9. 单片机音频谱曲软件_单片机谱曲软件讲解
  10. 【君思智慧园区】物业管理系统解决方案
  11. 什么是数字式射频信号发生器
  12. Vulkan同步机制和图形-计算-图形转换的风险(一)
  13. rtl语言_21个最佳RTL WordPress主题(从右到左语言)
  14. 元宇宙营业厅,数字技术融合,赋能实体经济
  15. php每30分钟计算一次收益,PHP 计算用户的累计收益
  16. jquery方法之append()与appendto()
  17. 神经网络的具体应用实例,各种神经网络的应用
  18. 大数据导论第十三周、十四周课件以及课后作业
  19. 电子商务售后操作技巧
  20. MATLAB/SAS学习笔记

热门文章

  1. AI未来 - 李开复 - 未来8成的工作受影响 - 读后感
  2. 创建CocoaPods的Framework Swift组件化之路(下)
  3. 32位电脑适合装W ndows10,32位再见?微软将停止支持32位Win10系统
  4. 421.数组中两个数的最大异或值
  5. 如何得到最后N位都是1的二进制数
  6. CS231n李飞飞计算机视觉 神经网络训练细节part2上
  7. multimap容器查找元素的三种方法总结
  8. KNN(k-nearest neighbor algorithm)--从原理到实现
  9. AR引擎vuforia源码分析、中文注释(2)用手势控制来与模型简单交互
  10. 从弧长的计算到逆时针与顺时针旋转的定义 (二维空间)