LeetCode18:Letter Combinations of a Phone Number

来源:互联网 发布:js设置div属性 编辑:程序博客网 时间:2024/06/03 00:53

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.


public class Solution {    public ArrayList<String> letterCombinations(String digits) {        // Start typing your Java solution below        // DO NOT write main() function        String [] strList = {" ","", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};        ArrayList<String> res = new ArrayList<String>();        res.add("");        if(digits.length() <1)            return res;        for(int i=0; i<digits.length(); i++){            int digit = Character.getNumericValue(digits.charAt(i));            String str = strList[digit];            ArrayList<String> tmpList = new ArrayList<String>();            for(String oldStr:res){                for(int j=0; j<str.length(); j++){                    String newStr = oldStr+str.charAt(j);                    tmpList.add(newStr);                }            }            res = tmpList;        }        return res;    }}


------------------------------------------------------------------------------------------------------------------------------------------

LL's solution:

public static ArrayList<String> letterCombinations(String digits) {     String[] strlist = {" ","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};    ArrayList<String> res = new ArrayList<String>();    int len = digits.length();    if(len<1)    return res;    res.add("");    for(int i = 0; i<len; i++){    int num = Character.getNumericValue(digits.charAt(i));    String appendix = strlist[num];    ArrayList<String> tmp = new ArrayList<String>();    for(String pre:res){    for(int j= 0; j<appendix.length();j++){    tmp.add(pre+appendix.charAt(j));    }    }    res = tmp;    }        return res;    }


原创粉丝点击