zoukankan      html  css  js  c++  java
  • 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;
        }


  • 相关阅读:
    C++基类的析构函数定义为虚函数的原因
    android的学习网站
    QT显示url图片
    Ubuntu安装JDK
    linux下打包压缩和解压命令
    嵌入式目录
    QT pri 文件的作用
    QT pro文件详细写法+实例
    Computer(树的直径做法)
    树的直径
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10085061.html
Copyright © 2011-2022 走看看