题目描述
题目链接:力扣https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
解法要点
这题是一道典型的采用深度优先遍历的算法题,提到深度优先遍历,那基本就要跟递归挂钩了。不过一般面试也不会出这题吧,现在用九宫格键盘的也不多,候选人也不大记得键盘布局,出这个题,面试官还得自己画个键盘,也太麻烦了。
言归正传,回到我上上篇博客(括号生成)关于递归的理解,咱们来设计一下这个递归函数的签名,它应该是
dfs(int idx, String digits, String str)
为什么呢,要注意下面几点