Categorías
Algorithms

LeetCode – Patrón de palabras (Java)

Dado un patrón y una cadena str, encuentre si str sigue el mismo patrón. Aquí seguir significa una coincidencia completa, de modo que hay una biyección entre una letra en el patrón y una palabra no vacía en str.

Solución Java

public boolean wordPattern(String pattern, String str) {
    String[] arr = str.split(" ");  
 
    //prevent out of boundary problem
    if(arr.length != pattern.length())
        return false;
 
    HashMap<Character, String> map = new HashMap<Character, String>();
    for(int i=0; i<pattern.length(); i++){
        char c = pattern.charAt(i);
        if(map.containsKey(c)){
            String value = map.get(c);
            if(!value.equals(arr[i])){
                return false;
            }
        }else if (map.containsValue(arr[i])){
            return false;
        }
        map.put(c, arr[i]);
    }
 
    return true;
}

  Subsecuencia común más larga (Java)

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *