我正在尝试删除列表中的连续重复项;例如,给定列表[1,2,2,3,4],我需要的函数必须返回[1,3,4]。
但是,如果尾随重复项在列表中,例如在[1,2,3,4,4].
我也想用尽可能简单的术语来做,我该怎么做?
myCom :: Eq a => [a] -> [a]
myCom (x:y:ys@(z:_))
| x == y = myCom ys
| otherwise = x : myCom (y:ys)
myCom ys = ys
Run Code Online (Sandbox Code Playgroud)