九键输入法中 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 }