美文网首页
每日一题,17. 电话号码的字母组合,中等

每日一题,17. 电话号码的字母组合,中等

作者: kaikai1234 | 来源:发表于2020-08-26 11:23 被阅读0次

1. 就是深搜。深搜三原则:终止条件,当下操作,回退。

2. 写完发现,这题早就做过了。

代码如下: 

class Solution {

    public List<String> letterCombinations(String digits) {

        if(null==digits || digits.equals("")){

            return new ArrayList<String>();

        }

        Map<Character, String> map = new HashMap<Character, String>();

        // map.put('1',)

        map.put('2', "abc");

        map.put('3', "def");

        map.put('4', "ghi");

        map.put('5', "jkl");

        map.put('6', "mno");

        map.put('7', "pqrs");

        map.put('8', "tuv");

        map.put('9', "wxyz");

        List<String> result = new ArrayList<String>();

        StringBuffer sb = new StringBuffer("");

        letterCombinationsHelp(result, map, digits, 0, sb);

        return result;

    }

    void letterCombinationsHelp(List<String> result, Map<Character, String> map, String digits,int index, StringBuffer sb  ){

        if(index == digits.length() ){

            result.add(sb.toString());

            return;

        }

        String letterList = map.get(digits.charAt(index));

        for(int i = 0; i < letterList.length(); i++){

            sb.append(letterList.charAt(i));

            letterCombinationsHelp(result, map, digits, index+1, sb);

            sb.deleteCharAt(index);

        }

    }

}

相关文章

网友评论

      本文标题:每日一题,17. 电话号码的字母组合,中等

      本文链接:https://www.haomeiwen.com/subject/gmyxsktx.html