zoukankan      html  css  js  c++  java
  • leetcode-17

    给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。

    给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

    示例:

    输入:"23"
    输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

    https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/

    这好像就是个暴力法,带有一点回溯的味道,虽然很淡。

    public class Solution17 {
    
        public static List<String> letterCombinations(String digits) {
            if (digits == null || digits.length() == 0)
                return new ArrayList<>();
            List<String> result = new ArrayList<>();
            if (digits.length() != 0)
                backtrack(result, "", digits);
            return result;
        }
    
        private static void backtrack(List<String> result, String condition, String next_digits) {
            Map<String, String> map = new HashMap<>();
            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");
            if (next_digits.length() == 0) {
                result.add(condition);
            } else {
                String digit = next_digits.substring(0, 1);
                String letters = map.get(digit);
                for (int i = 0; i < letters.length(); i++) {
                    String letter = letters.substring(i, i + 1);
                    backtrack(result, condition + letter, next_digits.substring(1));
                }
            }
        }
    
        public static void main(String[] args) {
            String str = "23";
            System.out.println(letterCombinations(str));
        }
    }
    一个没有高级趣味的人。 email:hushui502@gmail.com
  • 相关阅读:
    BeautifulSoup
    requests
    安装xpath helper
    取消搜狗输入法的快捷键
    numpy初识 old
    Jupyter Notebook 快捷键
    安装numpy、matplotlib
    JavaScript 继承 -JavaScript高级程序设计
    mac /windows
    unicode 地址
  • 原文地址:https://www.cnblogs.com/CherryTab/p/12093382.html
Copyright © 2011-2022 走看看