题目描述:
手机键盘上一个数字可以对应多个字母,有如下对应关系:
2:"abc"
3:"def"
4:"ghi"
5:"jkl"
6:"mno"
7:"pqrs"
8:"tuv"
9:"wxyz"
输入一串数字,求可对应的字符串的所有组合。例如(来源于题目):
Input:Digit string "23"
Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
题目很简单,可以使用回溯法来枚举所有可能的字符串组合。也可以写非递归的算法。栈是基本的数据结构,回溯也是基本的算法。但是要在面试那种环境,短时间内实现好非递归算法,又没有bug,就很考验编程功底了。