电话号码的字母组合

Posted zzzzzzx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了电话号码的字母组合相关的知识,希望对你有一定的参考价值。

//

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

 

//

class Solution String[] mappings = new String[]"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"; List<String> res = new ArrayList<>(); public List<String> letterCombinations(String digits) if (digits == "" || digits.length() == 0) return res; func(new StringBuilder(), digits, 0); return res; private void func(StringBuilder sb, String digits, int index) if (sb.length() == digits.length()) res.add(sb.toString()); return; Integer num = Integer.valueOf(String.valueOf(digits.charAt(index))); for (int i = 0; i < mappings[num].length(); i++) sb.append(mappings[num].charAt(i)); func(sb, digits, index + 1); sb.deleteCharAt(index);

 

 

//思路:设置一个全局的StringBuilder来保存当前字符串,利用回溯算法依次得到每个字母组合。

以上是关于电话号码的字母组合的主要内容,如果未能解决你的问题,请参考以下文章

电话号码的字母组合

17. 电话号码的字母组合

leetcode-电话号码的字母组合

电话号码的字母组合

《LeetCode之每日一题》:66.电话号码的字母组合

17. 电话号码的字母组合回溯Normal