haskell - 检查字符串是否在“i”字母处是回文?
问题描述
我有一个程序可以检查字符串是否为回文。我想添加让用户检查给定字符串是否在 i 个字母处是回文的功能。例如,如果字符串是“abbaabba”并且用户给出数字 4,它会返回 true,因为“abba”是回文。如果用户给出 5 则返回 false,因为“abbaa”不是回文。
这是我到目前为止所做的
palindromes:: String -> Int -> Bool
palindromes p i
| p == reverse p = True
| otherwise = False
如何添加该功能?
解决方案
你可以利用take :: Int -> [a] -> [a]
这里来预处理字符串:
palindromes :: Eq a => [a] -> Int -> Bool
palindromes p i = p' == reverse p'
where p' = take i p
推荐阅读
- javascript - 根据选择框隐藏部分
- java - 获取 pdf 时播放资产交付不起作用
- docker - Kubernetes:来自服务器的错误(未找到):未找到 deployments.apps “kube-verify”
- jupyter-notebook - Jupyter 密码未经过哈希处理
- shell - 获取日期范围内所有行的列表
- apache - 无法在 Mac 上访问 localhost 文件
- python - 如何多次重复一个函数并在python中对输出求和?
- r - R函数将列类型调整为日期格式
- kubernetes - stable/airflow 连接外部 PostgreSQL 数据库
- python - 通过 pip 安装包