@@ -0,0 +1,1908 @@
+import java.util.ArrayList;%0Aimport java.util.Hashtable;%0Aimport java.util.Arrays;%0A%0Apublic class Solution %7B%0A    public List%3CString%3E letterCombinations(String digits) %7B%0A        %0A        Hashtable%3CString, String%3E dic = buildDict();%0A        %0A        int len = digits.length();%0A        %0A        if(len == 0)%7B%0A            ArrayList%3CString%3E emptyone = new ArrayList%3CString%3E();%0A            emptyone.add(digits);%0A            return (List%3CString%3E)emptyone;%0A        %7D%0A        %0A        if(len == 1)%7B%0A            ArrayList%3CString%3E ends = new ArrayList%3CString%3E();%0A            String%5B%5D letts = dic.get(digits).split(%22%22);%0A            int leng = letts.length;%0A            %0A            for(int k = 0; k %3C leng; k++)%7B%0A                ends.add(letts%5Bk%5D);%0A            %7D%0A            return (List%3CString%3E) ends;%0A        %7D%0A        %0A        char head = digits.charAt(0);%0A        String h = String.valueOf(head);%0A        String letters = dic.get(h);%0A        int size = letters.length();%0A        %0A        String poststr = digits.substring(1);%0A        ArrayList%3CString%3E ls = (ArrayList%3CString%3E)letterCombinations(poststr);%0A        int num = ls.size();%0A        List%3CString%3E newls = new ArrayList%3CString%3E();%0A        %0A        for(int i = 0; i %3C size; i++)%7B%0A            char letter = letters.charAt(i);%0A            String l = String.valueOf(letter);%0A            %0A            %0A            for(int j = 0; j %3C num; j++)%7B%0A                newls.add(l + ls.get(j));%0A                %0A            %7D%0A            %0A        %7D%0A        %0A        return newls;%0A    %7D%0A    %0A    public Hashtable%3CString, String%3E buildDict()%7B%0A        Hashtable%3CString, String%3E dic = new Hashtable%3CString, String%3E();%0A        dic.put(%222%22, %22abc%22);%0A        dic.put(%223%22, %22def%22);%0A        dic.put(%224%22, %22ghi%22);%0A        dic.put(%225%22, %22jkl%22);%0A        dic.put(%226%22, %22mno%22);%0A        dic.put(%227%22, %22pqrs%22);%0A        dic.put(%228%22, %22tuv%22);%0A        dic.put(%229%22, %22wxyz%22);%0A        return dic;%0A    %7D%0A%7D%0A

Create LettCombPhoneNum_001.java