letterCombinations = function(digits, combination = [], combinations = []) {
    const isBaseCase = !digits
    if (isBaseCase) {
        if (combination.length) combinations.push(combination.join(''))

        return combinations;
    }

    const letters = phoneButtons[ digits[0] ];

    for (const char of letters) {
        backTrack(digits, char, combination, combinations);
    }

    return combinations;
}
https://leetcode.com/problems/letter-combinations-of-a-phone-number/
Time O(N * 4^N) | Space O(N)
@param {string} digits
@return {string[]}