Leetcode 17 Letter Combinations of a Phone Number - DFS思想

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"].

解题思路: 

依旧是DFS模型~注意把数字 0 - 9存进一个string array里面~使用stringbuilder比直接用string方便得多啊。。for循环里面是对array里面的某一个字符串的处理~

直接上代码:
 1 public ArrayList<String> letterCombinations(String digits) {
 2         String[] map = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
 3         ArrayList<String> ret = new ArrayList<String>();
 4         StringBuilder str = new StringBuilder();
 5         dfs(digits, map, 0, str, ret);
 6         return ret;
 7     }
 8     public void dfs(String digits, String[] map, int n, StringBuilder str, ArrayList<String> list){
 9         if(n == digits.length()){
10             list.add(str.toString());
11             return;
12         }
13         String s = map[digits.charAt(n) - ‘0‘];
14         for(int i = 0; i < s.length(); i++){    //注意i是小于s.lenght的
15             str.append(s.charAt(i));
16             dfs(digits, map, n + 1, str, list);
17             str.deleteCharAt(str.length() - 1);
18         }
19     }
 
时间: 2024-10-10 10:01:40

Leetcode 17 Letter Combinations of a Phone Number - DFS思想的相关文章

leetCode 17. Letter Combinations of a Phone Number 字符串 | 回溯 | Medium

17. Letter Combinations of a Phone Number 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"Ou

Leetcode 17. Letter Combinations of a Phone Number(水)

17. Letter Combinations of a Phone Number Medium Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is given

LeetCode #17 Letter Combinations of a Phone Number (M)

[Problem] 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

LeetCode 17 Letter Combinations of a Phone Number(电话号码的字母组合)

翻译 给定一个数字字符串,返回所有这些数字可以表示的字母组合. 一个数字到字母的映射(就像电话按钮)如下图所示. 输入:数字字符串"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"] 备注:尽管以上答案是无序的,如果你想的话你的答案可以是

LeetCode 17 Letter Combinations of a Phone Number 数字转为字母组合

题目: 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"

LeetCode 17 Letter Combinations of a Phone Number(C,C++,Java,Python)

Problem: 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&

Leetcode 17.——Letter Combinations of a Phone Number

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", &q

LeetCode 17 Letter Combinations of a Phone Number (电话号码字符组合)

题目链接 https://leetcode.com/problems/letter-combinations-of-a-phone-number/?tab=Description HashMap<Character, String> map = new HashMap<>(); map.put('0', "0"); map.put('1', "1"); map.put('2', "abc"); map.put('3', &

leetcode 17 Letter Combinations of a Phone Number

class Solution { public: vector<string> letterCombinations(string digits) { vector<string> res; if (digits.empty()) return res; string dict[] = {"abc", "def", "ghi", "jkl", "mno", "pqrs&qu