思路是利用回溯解决,注意回溯的返回条件即可。

电话号码的数字组合(Java)

class Solution {
    List<String> list=new ArrayList();
    Map<String,String> map=new HashMap();
    public List<String> letterCombinations(String digits) {
        map.put("2","abc");
        map.put("3","def");
        map.put("4","ghi");
        map.put("5","jkl");
        map.put("6","mno");
        map.put("7","pqrs");
        map.put("8","tuv");
        map.put("9","wxyz");
        if(digits.length()!=0)
            BackTrack("",digits);
        return list;
    }
    public  void BackTrack(String already,String next){
        if(next.length()==0)
            list.add(already);
        else{
            String key=next.substring(0,1);
            String value=map.get(key);
            for(int i=0;i<value.length();i++){
                String s=already+value.substring(i,i+1);
                BackTrack(s,next.substring(1));
            } 
        } 
    }
}

 

相关文章:

  • 2021-09-02
  • 2021-04-25
  • 2021-06-02
  • 2021-12-02
  • 2021-05-29
  • 2021-10-09
  • 2021-05-07
  • 2021-04-10
猜你喜欢
  • 2022-01-05
  • 2021-04-19
  • 2021-12-06
  • 2022-01-23
  • 2021-11-19
  • 2022-01-22
相关资源
相似解决方案