• golang算法--leetcode17


    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"].
    

    Note:
    Although the above answer is in lexicographical order, your answer could be in any order you want.

    package main
    
    import (
        "fmt"
    )
    
    func letterCombinations(digits string) []string {
        if (len(digits)) == 0 {
            return nil
        }
        AllDigits := map[byte][]string{
            '0': {" "},
            '1': {""},
            '2': {"a", "b", "c"},
            '3': {"d", "e", "f"},
            '4': {"g", "h", "i"},
            '5': {"j", "k", "l"},
            '6': {"m", "n", "o"},
            '7': {"p", "q", "r", "s"},
            '8': {"t", "u", "v"},
            '9': {"w", "x", "y", "z"},
        }
        var cur string
        answer := make([]string, 0)
        dfs(digits, AllDigits, 0, cur, &answer)
        fmt.Println(answer)
        return answer
    }
    func dfs(digits string, AllDigits map[byte][]string, l int, cur string, answer *[]string) {
        if l == len(digits) {
            *answer = append(*answer, cur)
            return
        }
        for _, n := range AllDigits[byte(digits[l])] {
            cur = cur + n
            dfs(digits, AllDigits, l+1, cur, answer)
            cur = cur[:int(len(cur)-1)]
        }
    }
    https://necydcy.me/
  • 相关阅读:
    <span>和<div>标签的隐藏和显示切换
    重启svn
    Mac下配置apache
    iOS时间显示今天昨天
    关于UIPageViewController那些事
    关于plist文件的那些事
    Xcode调试LLDB
    Reveal安装
    静态初始化器
    Static简介
  • 原文地址:https://www.cnblogs.com/miria-486/p/10558587.html
Copyright © 2020-2023  润新知