本文主要是介绍LeetCode:Letter Combinations of a Phone Number,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/
项目源码:https://github.com/haha174/daylx
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 below. Note that 1 does not map to any letters.
其实看到下面的样例就很懂这个意思了
Input: "23"
Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
因为数据数据的个数不是固定的这题其实就在于处理动态的循环次数
下面给出code
通过一个list 保存每一次的结果然后每次拼接字符,更新这个list 最后一次就是最终结果
public List<String> letterCombinations(String digits) {List<String> results = new LinkedList<String>();if (digits.equals(""))return results;results.add("");String[] arr = new String[]{"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};for (char c : digits.toCharArray()){int digit = Character.getNumericValue(c);List<String> newCharList = new LinkedList<String>();for (String str : results){for (char ch : arr[digit].toCharArray()){newCharList.add(str + ch);}}results = newCharList;}return results;
}
这篇关于LeetCode:Letter Combinations of a Phone Number的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!