Given a non-negative integer represented as an array of digits `digits` (most significant first, no leading zeros except the value 0), add one to the number and return the resulting digit array.