【发布时间】:2018-05-11 17:50:02
【问题描述】:
我正在制作一个函数,用于删除列表中连续出现两次或多次的元素。它用一次替换它们。我只使用递归和模式匹配(没有库列表函数)。
函数应该如何工作的示例:
-
unrepeat [True,True,True,True]-->[True] -
unrepeat [1,1,2,1,3,3,3]-->[1,2,1,3]
到目前为止我所拥有的:
unrepeat :: Eq a => [a] -> [a]
unrepeat [] = []
unrepeat [x] = [x]
unrepeat (x:xs) = x : [ k | k <- unrepeat(xs), k /=x]
【问题讨论】:
标签: list haskell recursion repeat