Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Problem: https://leetcode.com/problems/letter-combinations-of-a-phone-number/solution/
- // Solution: https://www.youtube.com/watch?v=21OuwqIC56E
- class Solution {
- public List<String> letterCombinations(String digits) {
- List<String> result = new ArrayList<String>();
- if(digits == null || digits.length() == 0) {
- return result;
- }
- String[] mappings = {
- "",
- "",
- "abc",
- "def",
- "ghi",
- "jkl",
- "mno",
- "pqrs",
- "tuv",
- "wxyz"
- };
- letterCombinationsRecursive(result, digits, "", 0, mappings);
- return result;
- }
- public void letterCombinationsRecursive(List<String> result, String digits, String current, int index, String[] mapping) {
- if(index == digits.length()) {
- result.add(current);
- return;
- }
- String letters = mapping[digits.charAt(index) - '0'];
- for(int i = 0; i < letters.length(); i++) {
- letterCombinationsRecursive(result, digits, current + letters.charAt(i), index + 1, mapping);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement