zoukankan      html  css  js  c++  java
  • [Leetcode] 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 public class Solution {
     2     public List<String> letterCombinations(String digits) {
     3         String[] maps={""," ","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
     4         List<String> result = new ArrayList<String>();
     5         dfs(result, maps, digits,0,"");
     6         return result;
     7     }
     8 
     9     private void dfs(List<String> result, String[] maps, String digits, int level, String temp) {
    10         // TODO Auto-generated method stub
    11         if(level>digits.length())
    12             return;
    13         if(digits.length()==level){
    14             result.add(temp);
    15             return;
    16         }
    17         int curDig=digits.charAt(level)-48;
    18         for(int i=0;i<maps[curDig].length();++i){    //此时从0开始到maps[curDig]结束,为temp里可以加的字母的取值范围
    19             temp+=maps[curDig].charAt(i);
    20             dfs(result, maps, digits, level+1, temp);
    21             temp=temp.substring(0, temp.length()-1);
    22         }    
    23     }
    24 }
  • 相关阅读:
    binary and out mode to open a file
    ADV7482&TP2825开发之总结
    C++ 操作符重载
    OpenCV学习(一)基础篇
    Linux设备驱动程序 第三版 读书笔记(一)
    My First Linux Module
    Bitmap每个像素值由指定的掩码决定
    C++ File Binary
    Bitmap RGB24 4字节对齐
    查看binlog的简单方法!
  • 原文地址:https://www.cnblogs.com/Phoebe815/p/4094694.html
Copyright © 2011-2022 走看看