我正在尝试编写一个函数来检查给定列表是否是回文。但是,我不知道如何将函数应用于给定的输入。 我的代码如下所示:
isPalindrome :: [a] -> Bool
isPalindrome x
| head x == last x = True
| otherwise = isPalindrome tail (init x)
这不起作用,我不明白为什么。
最佳答案
代码的主要问题是逻辑 - 它说“如果头部和尾部匹配,则它是回文,接受。否则......”真正的测试是“如果头部和尾部不同,则拒绝。否则检查中心部分。”
关于list - 如何将函数应用于 haskell 中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68609190/