码迷,mamicode.com
首页 > 其他好文 > 详细

[leetcode] Letter Combinations of a Phone Number

时间:2014-08-04 21:20:47      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   java   os   strong   io   

 

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.

bubuko.com,布布扣

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.


https://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/

 

 

思路:dfs。

技巧,数字与字母map的应用。

特殊情况,输入是"",要求也返回[""],略不科学。。

 

import java.util.ArrayList;
import java.util.List;

public class Solution {
    public List<String> letterCombinations(String digits) {
        List<String> res = new ArrayList<String>();
        if(digits.length()==0){
            res.add("");
            return res;
        }
        StringBuilder sb = new StringBuilder();
        dfs(res,digits,sb);
        
        return res;
    }
     
    private String[] numMap = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
    
    private void dfs(List<String> res, String digits,StringBuilder sb){
        if(digits.length()==0){
            res.add(sb.toString());
            return;
        }
        int curDigit =digits.charAt(0)-‘0‘;
        String curStr = numMap[curDigit];
        
        for(int i=0;i<curStr.length();i++){
            sb.append(curStr.charAt(i));
            dfs(res,digits.substring(1),sb);
            sb.deleteCharAt(sb.length()-1);
        }
        
        
    }
    
    public static void main(String[]args){
        System.out.println(new Solution().letterCombinations(""));
    }
    
}

 

[leetcode] Letter Combinations of a Phone Number,布布扣,bubuko.com

[leetcode] Letter Combinations of a Phone Number

标签:style   blog   http   color   java   os   strong   io   

原文地址:http://www.cnblogs.com/jdflyfly/p/3890865.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!