leetcode-17. número de teléfono

tema:

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

responder:

 public List <String> letterCombinations (String dígitos) {

   List <String> resultado = new ArrayList <String> ();

        if (digits.length () == 0) {

            devolver resultado;

        }

        Map <Character, String> map = new HashMap <Character, String> () { {

            poner ('2', "abc");

            poner ('3', "def");

            poner ('4', "ghi");

            poner ('5', "jkl");

            poner ('6', "mno");

            poner ('7', "pqrs");

            poner ('8', "tuv");

            poner ('9', "wxyz");

        }};

        operador (resultado, mapa, dígitos, 0, nuevo StringBuffer (""));

        devolver resultado;

    }

 

     // Retroceso

    operador vacío público (List <String> resultado, Map <Character, String> mapa, String dígitos, int index, StringBuffer temp) {

        if (index == digits.length ()) {

            result.add (temp.toString ());

        }más{

            Cadena s = map.get (digits.charAt (índice));

            int longitud = s.length ();

            para (int i = 0; i <longitud; i ++) {

                temp.append (s.charAt (i));

                operador (resultado, mapa, dígitos, índice + 1, temperatura);

                temp.deleteCharAt (índice);

            }

        }

 

    }

Supongo que te gusta

Origin blog.csdn.net/wuqiqi1992/article/details/108550914
Recomendado
Clasificación