Letter Combinations of a Phone Number(Problem Solving- Java)
Given a string containing digits from 2-9
inclusive, return all possible letter combinations that the number could represent. Return the answer in any order.
A mapping of digit to letters (just like on the telephone buttons) is given below. Note that 1 does not map to any letters.
Example 1:
Input: digits = "23"
Output: ["ad","ae","af","bd","be","bf","cd","ce","cf"]
Example 2:
Input: digits = ""
Output: []
Example 3:
Input: digits = "2"
Output: ["a","b","c"]
Approach:
Lets take “23” as example, starting from left we will get letter combinations for each number in the input and associating each letter with the respective next number letter combination.
i=0 -> result=combine(“abc”, [“”]) — -> [a,b,c];
i=1 -> result=combine(“def”, [a,b,c]) — -> [ad,bd,cd, ae,be,ce, af,bf,cf];
Solution:
Iterative Solution:
public List<String> letterCombinations(String digits)
{
ArrayList<String> result = new ArrayList<String>();
ans.add("");
if(digits.length()==0) return result; String[] phone = new String[] {"0", "1", "abc", "def"…