Ir al contenido principal

Mayor prefijo común

Definir la función

mayorPrefijoComun :: Eq a => [a] -> [a] -> [a]

tal que (mayorPrefijoComun xs ys) calcula el mayor prefijo común a xs e ys. Por ejemplo,

mayorPrefijoComun "masa" "madre"       == "ma"
mayorPrefijoComun "masa" "padre"       == ""
mayorPrefijoComun "hola" "hielo"       == "h"
mayorPrefijoComun "helado" "heladeria" == "helad"

Soluciones

mayorPrefijoComun :: Eq a => [a] -> [a] -> [a]
mayorPrefijoComun _  [] = []
mayorPrefijoComun [] _  = []
mayorPrefijoComun (x:xs) (y:ys)
  | x == y    = x : mayorPrefijoComun xs ys
  | otherwise = []