18 lines
518 B
Scala
18 lines
518 B
Scala
package ninetyNineScalaProblems.lists
|
|
|
|
import scala.annotation.tailrec
|
|
|
|
object Problem14:
|
|
def duplicateElements(list: List[Any]): List[Any] =
|
|
@tailrec
|
|
def loop(cursor: List[Any], acc: List[Any]): List[Any] =
|
|
cursor match
|
|
case e :: tail =>
|
|
loop(tail, e :: e :: acc)
|
|
case Nil =>
|
|
acc
|
|
|
|
loop(list, List()).reverse
|
|
|
|
def duplicateElements2(list: List[Any]): List[Any] =
|
|
list.flatMap(i => i :: List(i)) |