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;
        }


  • 相关阅读:
    codefroces 946F Fibonacci String Subsequences
    [HNOI2010]MATRIX 矩阵
    [HNOI2010]STONE取石头游戏
    [HNOI2010]PLANAR
    [HNOI2010]BUS 公交线路
    [HNOI2010]CHORUS 合唱队
    [HNOI2011]赛车游戏
    [HNOI2011]数矩形
    [HNOI2012]与非
    [BZOJ4200][NOI2015]小园丁与老司机
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10085061.html
Copyright © 2011-2022 走看看