我正在尝试编写一个函数,该函数接受一个字符串并从中生成一个回文。
例如,ace
变成aceeca
。
很简单,只需将反转的字符串连接到自身上。
palindrome s = s ++ reverse s
++ 是列表连接函数。
让我指出你对Real World Haskell的看法。如果你刚刚开始,这是一本学习语言的好书。
palindrome [] = []
palindrome (x:xs) = append (x:(palindrome xs)) x
where append (x:xs) y = x:(append xs y)
append [] y = [y]