Post

66 Plus One

66 Plus One

Plus One image

You are given a large integer represented as an integer array digits, where each digits[i] is the ith digit of the integer. The digits are ordered from most significant to least significant in left-to-right order. The large integer does not contain any leading 0’s.

Increment the large integer by one and return the resulting array of digits.

 

Example 1:

1
2
3
4
5
6
7
**Input:** digits = [1,2,3]
**Output:** [1,2,4]
**Explanation:** The array represents the integer 123.
Incrementing by one gives 123 + 1 = 124.
Thus, the result should be [1,2,4].

Example 2:

1
2
3
4
5
6
7
**Input:** digits = [4,3,2,1]
**Output:** [4,3,2,2]
**Explanation:** The array represents the integer 4321.
Incrementing by one gives 4321 + 1 = 4322.
Thus, the result should be [4,3,2,2].

Example 3:

1
2
3
4
5
6
7
**Input:** digits = [9]
**Output:** [1,0]
**Explanation:** The array represents the integer 9.
Incrementing by one gives 9 + 1 = 10.
Thus, the result should be [1,0].

 

Constraints:

1
2
3
1 <= digits.length <= 100
0 <= digits[i] <= 9
digits does not contain any leading 0's.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        res = []
        carry = 0
        first = True
        for k in digits[::-1]:
            if first:
                t = k + 1
                if t > 9:
                    t = t%10
                    res.append(t)
                    carry = 1
                else:
                    res.append(t)
                    carry = 0
                first = False

            elif carry > 0:
                t = k + carry
                if t > 9:
                    t = t % 10
                    res.append(t)
                    carry = 1
                else:
                    res.append(t)
                    carry = 0
            else:
                res.append(k)
        if carry > 0:
            res.append(carry)
        res.reverse()
        return res




                

            

            
            




This post is licensed under CC BY 4.0 by the author.