Leetcode-Easy 989. Add to Array-Form of Integer

简介: Leetcode-Easy 989. Add to Array-Form of Integer

题目描述


对于非负整数X,X的数组形式是从左到右顺序的数字数组。例如,如果X = 1231,则数组形式为[1,2,3,1]。


给定非负整数X的数组形式A,返回整数X + K的数组形式。

Example 1:

Input: A = [1,2,0,0], K = 34
Output: [1,2,3,4]
Explanation: 1200 + 34 = 1234


思路


将整数数组A拼接为整数字符串,转为整数类型后与K相加,然后再将和转化为整数数组。


代码实现


class Solution:
    def addToArrayForm(self, A: 'List[int]', K: 'int') -> 'List[int]':


拓展思路


上面的方法借鉴了python的便捷性,下面的思路是常规思路,也是我们小学数学的加法运算过程:


例如,要添加123和912,我们添加3 + 2,然后是2 + 1,然后是1 + 9。每当我们的加法结果超过10时,我们将1带入下一列。结果是1035。

class Solution(object):
    def addToArrayForm(self, A, K):
        A[-1] += K
        for i in xrange(len(A) - 1, -1, -1):
            carry, A[i] = divmod(A[i], 10)
            if i: A[i-1] += carry
        if carry:
            A = map(int, str(carry)) + A
        return A


相关文章
Leetcode 623. Add One Row to Tree
题目很简单,在树的第d层加一层,值为v。递归增加一层就好了。代码如下
53 0
|
存储 C++ Python
LeetCode刷题---Add Two Numbers(一)
LeetCode刷题---Add Two Numbers(一)
|
存储 算法 安全
LeetCode - #2 Add Two Numbers
我们社区从本期开始会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 不积跬步,无以至千里;不积小流,无以成江海,Swift社区 伴你前行。
LeetCode - #2 Add Two Numbers
LeetCode 415. Add Strings
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。
100 0
LeetCode 415. Add Strings
LeetCode 258. Add Digits
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。
74 0
LeetCode 258. Add Digits
LeetCode 241. Different Ways to Add Parentheses
给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。
84 0
LeetCode 241. Different Ways to Add Parentheses
LeetCode 67. Add Binary
给定两个二进制字符串,返回它们的总和(也是二进制字符串)。 输入字符串都是非空的,只包含字符1或0。
79 0
LeetCode 67. Add Binary
|
存储
Leetcode-Medium 2. Add Two Numbers
Leetcode-Medium 2. Add Two Numbers
69 0
LeetCode解题之二:Add Two Numbers
LeetCode解题之二:Add Two Numbers
LeetCode之Add Digits
LeetCode之Add Digits
106 0