Add to Array-Form of Integer LeetCode solution in C++

1
Time : O(max(n, Log k)) Space : O(1)
2

3
class Solution {
4
public:
5
vector<int> addToArrayForm(vector<int> &num, int k) {
6
vector<int> res;
7
int i = size(num) - 1;
8
int c = 0, sum;
9
while (i >= 0) {
10
sum = num[i] + k % 10 + c;
11
res.push_back(sum % 10);
12
c = sum / 10;
13
k /= 10;
14
i--;
15
}
16
while (k) {
17
sum = k % 10 + c;
18
res.push_back(sum % 10);
19
c = sum / 10;
20
k /= 10;
21
}
22
if (c) res.push_back(c);
23
reverse(begin(res), end(res));
24
return res;
25
}
26
};
27

28
--> Approach 2
29

30
class Solution {
31
public:
32
vector<int> addToArrayForm(vector<int> &num, int k) {
33
vector<int> res;
34
int i = size(num) - 1;
35
int sum;
36
while (i >= 0) {
37
sum = num[i] + k;
38
res.push_back(sum % 10);
39
k = sum / 10;
40
i--;
41
}
42
while (k) {
43
res.push_back(k % 10);
44
k /= 10;
45
}
46
reverse(begin(res), end(res));
47
return res;
48
}
49
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0