list - 如何将函数应用于 haskell 中的列表?

标签 list haskell palindrome

我正在尝试编写一个函数来检查给定列表是否是回文。但是,我不知道如何将函数应用于给定的输入。 我的代码如下所示:

isPalindrome :: [a] -> Bool
isPalindrome x
  | head x == last x = True
  | otherwise = isPalindrome tail (init x)

这不起作用,我不明白为什么。

最佳答案

代码的主要问题是逻辑 - 它说“如果头部和尾部匹配,则它是回文,接受。否则......”真正的测试是“如果头部和尾部不同,则拒绝。否则检查中心部分。”

关于list - 如何将函数应用于 haskell 中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68609190/

相关文章:

c++ - 如何检查整数的二进制表示是否为回文?

python-3.x - 从 Pandas 数据框中的一个或多个字符串值创建一个列表

python - 搜索嵌套列表python

python - 是否有一种非递归方法将每个列表元素分成自己的列表?

Haskell 数据类型函数参数

haskell - Haskell 类型族中的类型歧义

C - 程序只检查文件中的第一个单词

python - 根据另一个键过滤字典列表以删除键中的重复项

arrays - 矢量创建安全

c - 将单词插入堆栈并检查其是否存在回文