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 List<String> letterCombinations(String digits) { List<char[]> list = new ArrayList<char[]>(); list.add(new char[]{' '}); list.add(new char[]{}); list.add(new char[]{'a','b','c'}); list.add(new char[]{'d','e','f'}); list.add(new char[]{'g','h','i'}); list.add(new char[]{'j','k','l'}); list.add(new char[]{'m','n','o'}); list.add(new char[]{'p','q','r','s'}); list.add(new char[]{'t','u','v'}); list.add(new char[]{'w','x','y','z'}); List<String> ret = new ArrayList<String>(); ret.add(""); return build(ret, list, digits, 0); } private List<String> build(List<String> ret, List<char[]> list, String digits, int i) { if (0 == digits.length()) { return new ArrayList<String>(); } if (i == digits.length()) { return ret; } int pos = digits.charAt(i)-'0'; char[] str = list.get(pos); if (str.length == 0) { return ret; } List<String> newRet = new ArrayList<String>(); for (String s : ret) { for (char ch : str) { newRet.add(s+ch); } } return build(newRet, list, digits, i+1); } }
相关推荐
17. Letter Combinations of a Phone Number** https://leetcode.com/problems/letter-combinations-of-a-phone-number/ 题目描述 Given a string containing digits from 2-9 inclusive, return all possible ...
Letter Combinations of a Phone Number" 是一个关于JavaScript编程的挑战,旨在实现一个功能,该功能根据电话号码的数字生成所有可能的字母组合。这个题目常见于算法和编程面试中,目的是考察开发者的逻辑思维和...
17. Letter Combinations of a Phone Number 18. 4Sum 19. Remove Nth Node From End of List 20. Valid Parentheses 21. Merge Two Sorted Lists 22. Generate Parentheses 23. Merge k Sorted Lists 24. Swap ...
leetcode Java 246 題目及解答 (英文) Contents 1 Rotate Array in Java 15 ...242 Letter Combinations of a Phone Number 587 243 Restore IP Addresses 589 244 Reverse Integer 591 245 Palindrome Number 593
c c语言_leetcode 0017_letter_combinations_of_a_phone_number.zip
java入门 java_leetcode题解之17_Letter_Combinations_of_a_Phone_Number
js js_leetcode题解之17-letter-combinations-of-a-phone-number.js
c语言入门 C语言_leetcode题解之17-letter-combinations-of-a-phone-number.c
of a Phone Number * Target: Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. * Difficulty:Medium * Classification:String,...
leetcode 530 ** LeetCode 题目更新 ** 用来记录业余时间所做的算法题目,保持...Combinations of a Phone Number 018 4Sum 020 Valid Parentheses 022 Generate Parentheses 028 Implement strStr() 031 Next Permutat
Combinations of a Phone Number Medium 回溯、暴力 0034 Find First and Last Position of Element in Sorted Array Medium 二分 0039 Combination Sum Medium 回溯 0040 Combination Sum II Medium 回溯 0046 ...
第 338 章力码 LeetCode刷题总结 1.Two Sum 2.Add Two Numbers 3.Longest Substring Without Repeating ...of ...Number ...17.Letter Combinations of a Phone Number 18.4Sum 19.Remove Nth Node From End
leetcode 2 sum c leetcode 力扣(Leetcode)编程题,JavaScript版本。 编号 中文题目 英文题目 题目描述 JavaScript ...Number ...Letter Combinations of a Phone Number DFS 中等 18 4Sum 中等 19 Remo
Combinations of a Phone Number 电话号码的字母组合 回溯法,递归 / Backtrack,Recursion 回溯+递归 Daily Challenge 2020/08/26 20 Valid Parentheses 有效的括号 Stack / 栈 用栈实现配对 Daily Challenge 2020/...
17. Letter Combinations of a Phone Number:电话号码的字母组合。这是回溯算法的一个典型应用。 18. 4Sum:找到所有和为特定值的不重复的四元组。 19. Remove Nth Node From End of List:移除链表的倒数第N个...
17. letter Combinations of a Phone Number(电话号码的字母组合):通过回溯算法生成所有可能的字母组合。 18. 4Sum II(4Sum II):与4Sum类似,但需要寻找四个数的两对和相等的情况。 19. 删除链表的倒数第N个...
Combinations of a Phone Number backtracking int solution[MAX_DIMENSION]; void Backtracking(int dimension) { if(solution is well-generated) { process solution return; } for( x = each value of current ...