网络异常,图片无法展示
|
题目地址(989. 数组形式的整数加法)
题目描述
对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。 给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。 示例 1: 输入:A = [1,2,0,0], K = 34 输出:[1,2,3,4] 解释:1200 + 34 = 1234 示例 2: 输入:A = [2,7,4], K = 181 输出:[4,5,5] 解释:274 + 181 = 455 示例 3: 输入:A = [2,1,5], K = 806 输出:[1,0,2,1] 解释:215 + 806 = 1021 示例 4: 输入:A = [9,9,9,9,9,9,9,9,9,9], K = 1 输出:[1,0,0,0,0,0,0,0,0,0,0] 解释:9999999999 + 1 = 10000000000 提示: 1 <= A.length <= 10000 0 <= A[i] <= 9 0 <= K <= 10000 如果 A.length > 1,那么 A[0] != 0
思路
通过字符串与int之间的转换形成
关键点
代码
- 语言支持:Python3
Python3 Code:
class Solution: def addToArrayForm(self, num: List[int], k: int) -> List[int]: #字符串与int的转换 resStr = "" for i in num: resStr +=str(i) res = str(int(resStr)+k) reslist = [] for i in res: reslist.append(int(i)) return reslist if __name__ == '__main__': A = [1,2,0,0] K = 34 ret = Solution().addToArrayForm(A, K) print(ret)
复杂度分析
令 n 为数组长度。
- 时间复杂度:O(n)O(n)
- 空间复杂度:O(n)O(n)