九键输入法中 2~9 每个数字对应了若干个的字母,请找出给定数字组合对应的全部字母组合。
数据范围:数字长度
,数字中保证不出现
和 
键盘数字对应的映射如下:
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
}