力扣:17. 电话号码的字母组合

回溯解题思路:

1.先把0到9的对应的字符串用一个string类型的数组来储存起来,之后写回溯函数,组合的终止条件为s.length()==digits.length(),同时也要防止i下标超出string类型digits中的索引范围 ,之后就是找到对影数字的字符串的下标,用for循环来进行遍历组合,达到组合长度后,进行回溯操作。

class Solution { 
    //接收的全部的字母组合
     List<String> li=new ArrayList<>();
     //接收单个字母组合
     String s="";
    public List<String> letterCombinations(String digits) {
        //把0到9对应的值存入到string类型的数组中
           String[] st={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
          //如果输入值为0直接返回空数组
          if(digits.length()==0){
              return li;
          }
          //调用回溯函数
           huisu(0,st,digits);
           return li;
    }
    public void huisu(int i,String[] st,String digits){
        //组合的终止条件
         if(s.length()==digits.length()){
            li.add(s);
            return ;
         }
         //防止i下标超出string类型digits中的索引范围
         if(i==digits.length()){
             return;
         }
         //找到对应数字的字符串下标
         int j=Integer.parseInt(""+digits.charAt(i));
         //for循环来进行遍历
         for(int k=0;k<st[j].length();k++){
             //把对应数字的字符串中的值加入到接收单个字母组合中
              s+=st[j].charAt(k); 
              //进行递归来遍历全部的组合
              huisu(i+1,st,digits);
              //达到组合长度后,进行回溯操作
              s=s.substring(0, s.length()-1);
         }
    }
}

相关推荐

  1. 100】17.电话号码字母组合

    2024-02-05 06:00:05       58 阅读
  2. 17. 电话号码字母组合

    2024-02-05 06:00:05       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-05 06:00:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-05 06:00:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-05 06:00:05       87 阅读
  4. Python语言-面向对象

    2024-02-05 06:00:05       96 阅读

热门阅读

  1. Vivado Tri-MAC IP端口说明

    2024-02-05 06:00:05       60 阅读
  2. Objective-C中的“description“方法

    2024-02-05 06:00:05       50 阅读
  3. Objective-C 中的SEL

    2024-02-05 06:00:05       45 阅读
  4. 架构篇32:可扩展架构的基本思想和模式

    2024-02-05 06:00:05       45 阅读
  5. 网络爬虫的基本原理

    2024-02-05 06:00:05       47 阅读
  6. 什么是IDE,新手用哪个IDE比较好

    2024-02-05 06:00:05       44 阅读
  7. 【c++】跟webrtc学引用计数

    2024-02-05 06:00:05       39 阅读
  8. 【webrtc】跟webrtc学list遍历

    2024-02-05 06:00:05       43 阅读
  9. hive表加字段

    2024-02-05 06:00:05       53 阅读
  10. Hive与PrestoSQL中的并列列转行

    2024-02-05 06:00:05       53 阅读
  11. 2024-02-04(hive)

    2024-02-05 06:00:05       45 阅读