Leetcode: Letter Combinations of a Phone Number
来源:互联网 发布:美国近期非农数据预测 编辑:程序博客网 时间:2024/06/05 15:13
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.
Use a hashmap to store the digits and corresponding strings. Similar to subsets, permutations, use recursion with iteration to find all possible results.
public class Solution { public ArrayList<String> letterCombinations(String digits) { ArrayList<String> res = new ArrayList<String>(); if (digits == null) { return res; } HashMap<Character, String> map = new HashMap<Character, String>(); map.put('1', ""); 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"); map.put('0', " "); StringBuilder item = new StringBuilder(); helperPhone(digits, map, res, item, 0); return res; } private void helperPhone(String digits, HashMap<Character, String> map, ArrayList<String> res, StringBuilder item, int pos) { if (pos == digits.length()) { res.add(item.toString()); return; } String number = map.get(digits.charAt(pos)); for (int j = 0; j < number.length(); j++) { item.append(number.charAt(j)); helperPhone(digits, map, res, item, pos + 1); item.deleteCharAt(item.length() - 1); } }}
0 0
- LeetCode: Letter Combinations of a Phone Number
- LeetCode Letter Combinations of a Phone Number
- LeetCode: Letter Combinations of a Phone Number
- [Leetcode] Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- 【leetcode】Letter Combinations of a Phone Number
- LeetCode: Letter Combinations of a Phone Number
- [LeetCode]Letter Combinations of a Phone Number
- LeetCode-Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- LeetCode - Letter Combinations of a Phone Number
- LeetCode:Letter Combinations of a Phone Number
- LeetCode | Letter Combinations of a Phone Number
- leetcode Letter Combinations of a Phone Number
- Leetcode: Letter Combinations of a Phone Number
- 【leetcode】Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- leetcode: Letter Combinations of a Phone Number
- Git: Delete a branch (local or remote)
- jQuery to disable/enable textarea
- reseting remote to a certain commit
- Checkout remote Git branch
- "面试共三面。 校招笔..."
- Leetcode: Letter Combinations of a Phone Number
- Unique Paths
- 在AJAX返回结果中循环执行另一个AJAX
- Merge K Sorted List
- Unique Paths II
- Facebook Open Graph META Tags
- What does appending “?v=1” to CSS and Javascript URLs in link and script tags do?
- VirtualBox如何配置Bridge和Host-Only虚拟网卡
- Optimize Facebook Sharing