You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Haskell实现单词接龙游戏的validGame校验功能

Haskell 单词接龙游戏合法性校验实现

功能规则

判断单词接龙游戏是否符合规则:上一个单词的最后一个字母必须作为下一个单词的首字母,输入字符串中单词之间用空格分隔,可使用words函数辅助处理。

测试用例要求

以下测试用例的执行结果必须返回True:

validGame "apple table lo shoulder dog" == True
validGame "converse veg ball tablecloth zsifaf fules" == True
validGame "forest divide west tabortuz" == False
validGame "sobbing guzsalyas sararany nyul leng" == False

实现代码

validGame :: String -> Bool
validGame s = let wordList = words s
              in all (\(prev, next) -> last prev == head next) $ zip wordList (tail wordList)

实现说明

  • 首先调用words函数将输入的空格分隔字符串拆解为单词列表
  • 通过zip wordList (tail wordList)将相邻的单词两两配对,生成相邻单词对的列表
  • 遍历所有相邻单词对,逐一校验前一个单词的末尾字符是否等于后一个单词的首字符
  • 若所有单词对都满足规则则返回True,存在任意一组不满足则返回False
  • 边界场景兼容:输入为空、仅输入一个单词时,默认返回True

内容的提问来源于stack exchange,提问作者hello16

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 04:06:00