17. Letter Combinations of a Phone Number

前端之家收集整理的这篇文章主要介绍了17. Letter Combinations of a Phone Number前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Given a digit string,return all possible letter combinations that the number could represent.

A mapping of digit to letters (just like on the telephone buttons) is given below.

Input:Digit string “23”
Output: [“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”].

var digitMap = []string{"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}

func letterCombinations(digits string) []string {
    results := []string{}
    if len(digits) < 1 {
        return []string{}
    }
    letters := digitMap[int(digits[0] - '0')]
    if len(digits) == 1 {
        for _,v := range letters {
            results = append(results,string(v))
        }
    } else {
        for _,v := range letters {
            for _,vs := range letterCombinations(string(digits[1:])) {
                results = append(results,string(v)+string(vs))
            }
        }
    }
    return results
}

猜你在找的Go相关文章