The challenge
Given a non-empty array of digits representing a non-negative integer, increment one to the integer. This challenge involves array manipulation similar to finding the intersection of two arrays .
The digits are stored such that the most significant digit is at the head of the list, and each element in the array contains a single digit. For more Python array challenges, you might also be interested in getting the last element of a list .
You may assume the integer does not contain any leading zero, except the number 0 itself.
Example 1:
Input: [1,2,3] Output: [1,2,4] Explanation: The array represents the integer 123.
Example 2:
Input: [4,3,2,1] Output: [4,3,2,2] Explanation: The array represents the integer 4321.
The solution in Python
def plusOne(self, digits: List[int]) -> List[int]:
# check that digits exists and is bigger than 0
if len(digits)==0:
# fail safe
return digits
else:
# increment the number to a single integer
number = int(''.join([str(k) for k in digits]))+1
# return back a list representation
return [int(k) for k in str(number)]