LeetCode:加一

Posted 魏小言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:加一相关的知识,希望对你有一定的参考价值。

目录

题目

示例

思路

代码


 

题目

加一

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

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

你可以假设除了整数 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-全为 9;2-部分为9;3-无9。

2、3 只需要对第一个不是9的位置加一,后面的取0即可;

1 需重新构造数组,首位置 1 即可

代码

func plusOne(digits []int) []int 

	l:= len(digits)

	for i:=l-1;i>=0;i--

		if digits[i]!=9

			digits[i]++

			for j:=i+1;j<l;j++

				digits[j] = 0

			

			return digits

		

	

	digits = make([]int,l+1)

	digits[0] = 1

	return digits

以上是关于LeetCode:加一的主要内容,如果未能解决你的问题,请参考以下文章

leetcode-66.加一

LeetCode:加一

leetcode-66-加一

LeetCode 66 加一[数学] HERODING的LeetCode之路

[leetcode] 66. 加一

leetcode刷题35.加一——Java版