leetcode 17 电话号码的数字组合
Posted xiaoyaomianbiren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 17 电话号码的数字组合相关的知识,希望对你有一定的参考价值。
给定一个仅包含数字 2-9
的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
1 class Solution { 2 List<String> temp=new ArrayList<String>(); 3 Map<String,String> map=new HashMap<String,String>(){{ 4 put("2","abc"); 5 put("3","def"); 6 put("4","ghi"); 7 put("5","jkl"); 8 put("6","mno"); 9 put("7","pqrs"); 10 put("8","tuv"); 11 put("9","wxyz"); 12 13 }}; 14 public void back(String before,String next){ 15 if(next.length()==0){ 16 temp.add(before); 17 return; 18 } 19 for(int i=0;i<(map.get(next.substring(0,1))).length();i++){ 20 back(before+(map.get(next.substring(0,1))).substring(i,i+1),next.substring(1)); 21 } 22 } 23 public List<String> letterCombinations(String digits) { 24 if(digits==null||digits.length()<1){ 25 return temp; 26 } 27 back("",digits); 28 return temp; 29 } 30 }
反思:
1,对回朔与递归不太熟练
以上是关于leetcode 17 电话号码的数字组合的主要内容,如果未能解决你的问题,请参考以下文章