当前位置:网站首页>LeetCode_66_加一
LeetCode_66_加一
2022-08-08 10:37:00 【Fitz1318】
题目链接
题目描述
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0
之外,这个整数不会以零开头。
示例 1:
输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。
示例 2:
输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。
示例 3:
输入:digits = [0]
输出:[1]
提示:
1 <= digits.length <= 100
0 <= digits[i] <= 9
解题思路
分为以下三种情况
- 末位无进位,则末位加一即可。因为末位无进位,所以前面也不可能产生进位
- 末位有进位,在中间位置进位停止,则需要找到进位的典型标志,即位当前位后为0,则前一位加1,直到不为0为止,如
299 -> 300
- 末位有进位,并且一直进位到最前方,导致结果多出一位,例如
9999 -> 10000
。对于这种情况,直接令最高位为1,其他位为0即可
AC代码
class Solution {
public int[] plusOne(int[] digits) {
for (int i = digits.length - 1; i >= 0; i--) {
digits[i]++;
digits[i] %= 10;
if (digits[i] != 0) {
return digits;
}
}
//第三种情况,则需要在开头加上1
digits = new int[digits.length + 1];
digits[0] = 1;
return digits;
}
}
边栏推荐
- 经开安监App技术服务支持
- 自学脚手架——《热学》 by 李椿(第一,二,三,四,五章)
- Hystrix熔断器
- 七、图结构
- Flutter 游戏教程之使用 Flutter 和 Flame 重现著名的 T-Rex 游戏
- Thoroughly understand the differences and application scenarios of session, cookie, sessionStorage, and localStorage (interview orientation)
- 基于ftp协议的上传与下载
- 牛客收藏上万的神作!这份阿里P8手写的MySQL主从原理手册真的牛
- SCCM2012R2管理之版本更新
- 上海控安SmartRocket系列产品推介(二):SmartRocket Modeler可视化建模开发工具
猜你喜欢
随机推荐
关于振弦采集模块及采集仪振弦频率值准确率的问题
开源一夏 | 牛plus,多层嵌套动态JSON该如何解析总结
Redis是持久化键值数据库嘛?
How to uniformly handle error exceptions in embedded C programming?
Leetcode 105. 从前序与中序遍历序列构造二叉树
文档数据库和列存储数据库有什么不同的嘛?
Redis 定长队列的探索和实践
功夫再高也怕菜刀,产品经理的那些事
以技术御风险,护航云原生 | 同创永益 X 博云举办产品联合发布会
centos 安装redis
键值数据库中的键是什么类型的对象呢?
部署spark2.2集群(standalone模式)
MySQL源码解析之执行计划
CentOS MySQL体系管理
Code implementation of various kinds of attention
快速定位线上慢 SQL 问题,掌握这几个性能排查工具可助你一臂之力
2万字50张图玩转Flink面试体系
Detailed Explanation of Gradient Vanishing and Gradient Explosion Problems
Vulnhub靶机:GEMINI INC_ 1
卫星互联网真能替代 5G?