九键输入法中 2~9 每个数字对应了若干个的字母,请找出给定数字组合对应的全部字母组合。
1.该题你返回的组合顺序可以不唯一
2.该题你返回的字母大小写都是可以的
数据范围:数字长度 ,数字中保证不出现 和
键盘数字对应的映射如下:
"55"
["JJ","JK","JL","KJ","KK","KL","LJ","LK","LL"]
"3"
["D","E","F"]
package main //import "fmt" /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num string字符串 * @return string字符串一维数组 */ func phoneNumber( num string ) []string { n2c:=map[byte]string{ '2':"abc", '3':"def", '4':"ghi", '5':"jkl", '6':"mno", '7':"pqrs", '8':"tuv", '9':"wxyz", } ans:=[]string{} var dfs func(string,int) dfs=func(s string,idx int){ if idx==len(num){ ans=append(ans,s) return } for _,ch:=range []byte(n2c[num[idx]]){ s+=string(ch) dfs(s,idx+1) s=s[:len(s)-1] } } dfs("",0) return ans }