1. question: 电话号码的字母组合(中等)
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/letter-combinations-of-a-phone-number

示例 1:
1 | 输入:digits = "23" |
示例 2:
1 | 输入:digits = "" |
示例 3:
1 | 输入:digits = "2" |
提示:
1 | 0 <= digits.length <= 4 |
2. answers
这道题和组合题是类似的,只不过这里限制了集合中每个位置的取值(数字代表的字符),而集合的元素个数就是字符串的长度。
因此,同样可采取回溯的方法,第一个字符有三种选择,第二个字符有三种选择…,依次递归下去,直到满足长度要求,之后再回溯,返回倒数第一个字符的取值区间,循环取值等等。代码如下所示:
1 | public class Solution_0080 { |
3. 备注
参考力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 (leetcode-cn.com),代码随想录 (programmercarl.com)。