zoukankan      html  css  js  c++  java
  • LeetCode: Letter Combinations of a Phone Number 解题报告

    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.

    SOLUTION 1:

    经典递归模板。

    注意这一行不要写错了,根据当前的数字来取得可能的字母组合:

    //get the possiable selections.
    String s = map[digits.charAt(index) - '0'];

     1 public class Solution {
     2     String[] map = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
     3     
     4     public List<String> letterCombinations(String digits) {
     5         List<String> ret = new ArrayList<String>();
     6         if (digits == null) {
     7             return ret;
     8         }
     9         
    10         dfs(digits, new StringBuilder(), ret, 0);
    11         return ret;
    12     }
    13     
    14     public void dfs(String digits, StringBuilder sb, List<String> ret, int index) {
    15         int len = digits.length();
    16         if (index == len) {
    17             ret.add(sb.toString());
    18             return;
    19         }
    20         
    21         // get the possiable selections.
    22         String s = map[digits.charAt(index) - '0'];
    23         for (int i = 0; i < s.length(); i++) {
    24             sb.append(s.charAt(i));
    25             dfs(digits, sb, ret, index + 1);
    26             sb.deleteCharAt(sb.length() - 1);
    27         }
    28     }
    29     
    30 }
    View Code

    GITHUB:

    https://github.com/yuzhangcmu/LeetCode_algorithm/blob/master/combination/LetterCombinations.java

  • 相关阅读:
    spring源码怎么解决循环依赖?
    观察者模式
    单例模式
    Python 列表(List)
    python字符串(str)
    内置函数
    python运算符
    函数名的应用 闭包 迭代器
    生成器,推导式
    python的起源
  • 原文地址:https://www.cnblogs.com/yuzhangcmu/p/4141131.html
Copyright © 2011-2022 走看看