小编Mic*_*ael的帖子

如何通过模式匹配从Scala中的列表中删除重复项?

作为家庭作业,我必须编写一个函数,从列表中删除重复项.它应该是递归的并且具有模式匹配.我不允许使用head,tail,contains等列表函数.
对于排序列表,我提出了这个解决方案:

def remove(u:List[Int]):List[Int] = {
  u match { case Nil => u
  case hd::hd2::tl => if(hd == hd2) remove(hd2::tl) else hd :: remove(hd2::tl)
  case hd::tl => hd :: remove(tl)
  }
}
Run Code Online (Sandbox Code Playgroud)

如何处理未排序的列表?

recursion scala list pattern-matching

3
推荐指数
1
解决办法
589
查看次数

标签 统计

list ×1

pattern-matching ×1

recursion ×1

scala ×1