【发布时间】:2018-03-26 19:10:04
【问题描述】:
函数 countPalindromes 接收字符串列表并返回有多少字符串是回文的计数。
isPalindrome :: String -> Bool
isPalindrome w = w == reverse w
countPalindromes :: [String] -> Int
countPalindromes ss = length filter (== isPalindrome) ss
我知道函数长度应用于两个参数而不是一个。我只是不知道如何解决这个问题?
【问题讨论】:
-
我不关注你。此代码等效于
length (filter (== isPalindrome) ss)。你说length应用于两个参数是什么意思? -
我认为第一个问题是
filter (== isPalindrom)。为什么你期望它列出字符串中的所有回文? -
啊,确实,这里缺少
map。 -
@StéphaneLaurent 不,
length filter (== isPalindrome) ss被解析为((length filter) (== isPalindrome)) ss -
@StéphaneLaurent:不,而且这个问题有点不明确,我们计算重叠回文吗?
标签: string list haskell palindrome