Appearance
Adding one to number represented as array of digits 
Problem Description 
Given a non-negative number represented as an array of digits, add 1 to the number ( increment the number represented by the digits ).
The digits are stored such that the most significant digit is at the head of the list.
Problem Constraints
1 <= |A| <= 106
0 <= Ai <= 9Input Format
First argument is an array of digits.Output Format
Return the array of digits after adding one.Example Input
Input 1:
[1, 2, 3]Example Output
Output 1:
[1, 2, 4]Example Explanation
Explanation 1:
Given vector is [1, 2, 3].
The returned vector should be [1, 2, 4] as 123 + 1 = 124.TIP
Certain things are intentionally left unclear in this question which you should practice asking the interviewer.
For example: for this problem, following are some good questions to ask :
- Q : Can the input have 0's before the most significant digit. Or in other words, is 0 1 2 3 a valid input? (YES)
 - Q : Can the output have 0's before the most significant digit? Or in other words, is 0 1 2 4 a valid output? (NO)
 
Solution 
TIP
Array Iteration.
swift
import Foundation
class Solution {
	func plusOne(_ A: inout [Int]) -> [Int] {
        let len = A.count
        var result = [0] + A 
        var i = len
        
        while i >= 0 {
            result[i] += 1
            if result[i] < 10 {
                break
            }
            result[i] = 0
            
            i -= 1
        }
        
        i = 0
        while i <= len {
            if result[i] > 0 {
                break
            }
            i += 1
        }
        
        return Array(result[i...len])        
	}
}