我被給了這個問題,我想我已經想通了,但我被告知我錯了。問題是,。給定一個列表xs,顛倒前n個元素。我想我不明白這個問題在問什麼,我認爲我們接受一個Int n,然後返回該int n前面的前n個元素。n個元素的反向列表
def nthRev[T](n: Int,xs: List[T]): List[T] = xs match {
case List() => List()
case head :: rest => (head::rest.take(n)).reverse
}
因此,輸出
nthRev(3,List(1, 2, 3, 4, 5))
回報
List(4, 3, 2, 1)
,但顯然它的錯,誰能解釋一下這個問題是要求?
什麼是你想用這個模式來完成?對我而言,如果列表爲空,這看起來就像一個測試。沒有其他的。對於這個問題本身,我想結果應該是'List(4,3,2,1,5)'。 – bash0r 2014-11-25 01:06:53