电话号码的字母组合
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来保存当前字符串,利用回溯算法依次得到每个字母组合。
以上是关于电话号码的字母组合的主要内容,如果未能解决你的问题,请参考以下文章