算法—leetcode—66. 加一

138 阅读1分钟

题目

  1. 加一

题目描述

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 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]

思路

此题非常简单,主要考虑进位问题即可

代码

package leetcode

// plusOne
// 加一
func plusOne(digits []int) []int {
	num := len(digits)
	if num < 1 {
		return digits
	}

	for i := num - 1; i >= 0; i-- {
		if digits[i] < 9 {
			digits[i]++
			return digits
		}
		digits[i] = 0
	}
	rs := make([]int, num+1)
	rs[0] = 1
	return rs
}

参考

来源:力扣(LeetCode)
链接:leetcode-cn.com/problems/pl…
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。