使用模式匹配从 SML 中的列表中删除连续的重复项

问题描述

我想创建一个函数 removeDups,如果可能的话,它会删除列表中重复的任何元素,仅使用模式匹配。所以如果我有一个像 [1,1,2,3,4,5,6,7,8] 这样的列表,那么我希望输出是 [1,8]

到目前为止我所拥有的是

 fun removeDups [] = []
   | removeDups (x::y::xs) = y::removeDups(xs);

它给了我输出 [1,8]。

我理解的主要问题是跟踪一个元素,这样它就不会再重复了。不确定我是否需要另一个基本案例来处理它。任何为我指明正确方向的提示/解释都会很棒。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)