17. Letter Combinations of a Phone Number

思路:使用递归

class Solution {
    public static Map<Character,char[]> map = new HashMap<>();
    {   
        char[] tmp1 = {};
        map.put('1',tmp1);
        char[] tmp2={'a','b','c'};
        map.put('2',tmp2);
        char[] tmp3={'d','e','f'};
        map.put('3',tmp3);
        char[] tmp4={'g','h','i'};
        map.put('4',tmp4);
        char[] tmp5={'j','k','l'};
        map.put('5',tmp5);
        char[] tmp6={'m','n','o'};
        map.put('6',tmp6);
        char[] tmp7={'p','q','r','s'};
        map.put('7',tmp7);
        char[] tmp8={'t','u','v'};
        map.put('8',tmp8);
        char[] tmp9={'w','x','y','z'};
        map.put('9',tmp9);
    }
    public List<String> letterCombinations(String digits) {
        List<String> zz = new ArrayList<>();
        if(digits.length()==0)
            return zz;
        addToList(0,digits,zz,"");
        return zz;
    }
    public void addToList(int i,String digits,List<String> zz,String fuck){
        if(i==digits.length()){
            zz.add(fuck);
            return;
        }
        for(int j=0;j<map.get(digits.charAt(i)).length;j++){
            addToList(i+1,digits,zz,fuck+map.get(digits.charAt(i))[j]);
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容