• 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.

    方法

    使用递归求解。

        char[][] letters = {{'a','b','c'},{'d','e','f'},{'g','h','i'},{'j','k','l'},{'m','n','o'},{'p','q','r','s'},{'t','u','v'},{'w','x','y','z'}};
        public void getCombi(String digits, int cur, int len, String str, List<String> list) {
            if (cur == len) {
                list.add(str);
            } else {
                int index = digits.charAt(cur) - '2';
                int leng  = letters[index].length;
                for (int i = 0; i < leng; i++) {
                    String newStr = str +  letters[index][i];
                    getCombi(digits, cur + 1, len, newStr, list);
                }
                
            }
        }
        public List<String> letterCombinations(String digits) {
            List<String> list = new ArrayList<String>();
            String str = "";
            int len = digits.length();
            getCombi(digits, 0, len, str, list);
            return list;
        }


  • 相关阅读:
    Debian 添加用户
    如何让安卓手机访问内网服务器?
    数据库权限
    CentOs
    批量导入sql文件。
    使用Navicat Premium连接mysql数据库
    git 合包
    linux 下文件打包
    git 分支管理
    gcc8.2安装
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10085061.html
Copyright © 2020-2023  润新知