LC 989.Add to Array-Form of Integer
题目描述
这是 LeetCode
上的 989.
数组形式的整数加法 - 力扣(LeetCode)
,难度为简单。
整数的 数组形式 num
是按照从左到右的顺序表示其数字的数组。
- 例如,对于
num = 1321
,数组形式是[1,3,2,1]
。
给定 num
,整数的 数组形式 ,和整数
k
,返回 整数 num + k
的
数组形式 。
示例 1:
1 |
|
示例 2:
1 |
|
示例 3:
1 |
|
提示:
1 <= num.length <= 10^4
0 <= num[i] <= 9
num
不包含任何前导零,除了零本身1 <= k <= 10^4
解答
方法一:逐位相加
根据要求进行逐位相加,如果结果大于 10
则进位,注意要考虑
k
比 num
大的情况。
1 |
|
时间复杂度:\(O(\max(n, \log k))\),其中
n
为数组num
的长度。空间复杂度:\(O(1)\)。
方法二:将 k
表示为数的最低位
将 k
作为最低位和数组的最后一位相加,然后将除以十的余数留下,除以十进位,最后将各位添加到返回的链表中。
1 |
|
时间复杂度:\(O(\max(n, \log k))\),其中
n
为数组num
的长度。空间复杂度:\(O(1)\)。
每题一图
LC 989.Add to Array-Form of Integer
https://chen-huaneng.github.io/2024/01/27/2024-1-27-2024-01-27-lc-0989/