This question evaluates a candidate's competency in array manipulation and elementary arithmetic on digit sequences, including carry propagation and handling edge cases when incrementing a number represented as a digit array in the Coding & Algorithms domain.
Given a non-empty array of digits representing a non-negative integer, add one to the integer and return the resulting array of digits.
Assumptions:
Examples:
[1,2,3] -> [1,2,4]
[4,3,2,1] -> [4,3,2,2]
[9] -> [1,0]
[9,9,9] -> [1,0,0,0]
Write an efficient Python solution and state its time and space complexity.