题目
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例
1 | 输入:"23" |
说明
尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。
题解
本题使用DFS的思想,curr表示当前访问到的字符串,currIdx表示访问digits的位置。例如:
输入”234“字符串,helper方法会一直访问到currIdx指向digits的最后一位,第一次得到”adg”,把它加入到List,然后回溯到”ad”,继续遍历到最后,把得到的字符串加入List,回溯到”a”,继续深度遍历…最后得到的List就是我们要求的结果。
代码
1 | public class solution{ |