首页 > 解决方案 > 检查字符串是否在“i”字母处是回文?

问题描述

我有一个程序可以检查字符串是否为回文。我想添加让用户检查给定字符串是否在 i 个字母处是回文的功能。例如,如果字符串是“abbaabba”并且用户给出数字 4,它会返回 true,因为“abba”是回文。如果用户给出 5 则返回 false,因为“abbaa”不是回文。

这是我到目前为止所做的

palindromes:: String -> Int -> Bool

palindromes p i
   | p == reverse p = True
   | otherwise = False

如何添加该功能?

标签: haskellstring-length

解决方案


你可以利用take :: Int -> [a] -> [a]这里来预处理字符串:

palindromes :: Eq a => [a] -> Int -> Bool
palindromes p i = p' == reverse p'
    where p' = take i p

推荐阅读