博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
66. Plus One - Easy
阅读量:6087 次
发布时间:2019-06-20

本文共 1038 字,大约阅读时间需要 3 分钟。

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.

Example 1:

Input: [1,2,3]Output: [1,2,4]Explanation: The array represents the integer 123.

Example 2:

Input: [4,3,2,1]Output: [4,3,2,2]Explanation: The array represents the integer 4321.

 

从后往前遍历数组,如果当前元素<9的,当前元素加一,并直接返回数组;如果当前元素>=9(=9),说明需要进位,把当前元素设为0。遍历完全部元素还没有遇到<9的元素,说明需要增加位数,返回一个新数组 1, 000...000

时间:O(N),空间:O(1)

class Solution {    public int[] plusOne(int[] digits) {        for(int i = digits.length - 1; i >= 0; i--) {            if(digits[i] < 9) {                digits[i] += 1;                return digits;            }            digits[i] = 0;           }        int[] res = new int[digits.length + 1];        res[0] = 1;        return res;    }}

 

转载于:https://www.cnblogs.com/fatttcat/p/10053743.html

你可能感兴趣的文章
AC Milan VS Juventus(模拟)
查看>>
CentOS两台服务器利用scp拷贝文件
查看>>
【云计算】Ubuntu14.04 搭建GlusterFS集群
查看>>
SQL DatePart函数使用
查看>>
物联网MQTT协议分析和开源Mosquitto部署验证
查看>>
servlet中的相对路径和绝对路径 及/, ./, ../的区别
查看>>
UpdatePanel无法导出下载文件
查看>>
关于Javascript表单验证
查看>>
LayoutInflater(四)
查看>>
iOS开发之Masonry框架源码解析
查看>>
nginx 静态网站配置
查看>>
iOS 中对 HTTPS 证书链的验证
查看>>
BZOJ2454 : TopCoder SRM 463 RabbitPuzzle
查看>>
按键精灵
查看>>
解释型语言与编译型语言的区别【转】
查看>>
gdb调试python
查看>>
Ubuntu Server如何配置SFTP
查看>>
spring与spring-data-redis整合redis
查看>>
Android 控件EditText的setOnEditorActionListener方法的理解
查看>>
Angular企业级开发(4)-ngResource和REST介绍
查看>>