假设您有一个List(1,1,1,4,4,1)
并且必须计算作为列表头部的元素连续重复了多少次。在上面的例子中,方法应该返回 3。在这个方法中,我们只关心第一个元素。
我走了这么远,卡住了。给定第一个不可重复的字符,我想打破,如何?
def firstRepeated [X] (xs: List[X]) : Int = xs match {
case Nil => 0
case y::ys => ys match {
case Nil => 0
case z::zs => if (y == z) 1 + firstRepeated(zs) else // break
}
}
另外,在上面的代码中,我认为我没有正确处理 list 的情况z::Nil
任何指针将不胜感激