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);
}
}
}