0
点赞
收藏
分享

微信扫一扫

【leetcode】989.数组形式的整数加法

老王420 2023-05-22 阅读 28

题目描述:

整数的 数组形式  num 是按照从左到右的顺序表示其数字的数组。

例如,对于 num = 1321 ,数组形式是 [1,3,2,1] 。
给定 num ,整数的 数组形式 ,和整数 k ,返回 整数 num + k 的 数组形式 。

示例 1:

示例 2:

示例 3:

可以提前试着做一下: 

https://leetcode.cn/problems/add-to-array-form-of-integer

C++题解:

class Solution 
{
public:
    vector<int> addToArrayForm(vector<int>& num, int k) 
    {
        int len = num.size()-1, sum = 0, carry = 0;
        vector<int> res;
        while(len>=0 || k!=0)
        {
            int x = len>=0 ? num[len] : 0;
            int y = k!=0 ? k%10 : 0;
            sum = x+y+carry;
            carry = sum / 10;
            sum %= 10;
            k /= 10;
            len--;
            res.push_back(sum);
        } 
        if(carry!=0)
            res.push_back(carry);
        reverse(res.begin(), res.end());
        return res;
    }
};

举报

相关推荐

0 条评论