相关疑难解决方法(0)

Scala中嵌套列表的深度反转

我想在Scala中以递归方式反转列表列表.

我在Python中编写了深度列表反转,如下所示:

def deepReverse(items):
    if type(items) == list:
        return [deepReverse(item) for item in reversed(items)]
    else: 
        return items
Run Code Online (Sandbox Code Playgroud)

我如何在Scala中完成相同的操作?问题不在于算法 - 它是类型的东西,我是新的.

我需要函数将[T]或List [List [T]]的列表,或T的列表和Ts列表,任意深度.我尝试根据我在其他地方看到的一个例子来创建一个案例类.我不想要一个只返回Any并接受Any的函数; 感觉像是作弊.

case class NL[+T](val v : Either[List[NL[T]],T])
Run Code Online (Sandbox Code Playgroud)

尽管如此,我还是无法让我的类型得到平衡.我是Scala的新手,但我认为这是一个混乱递归和打字的绝佳机会.

recursion scala list

14
推荐指数
2
解决办法
833
查看次数

标签 统计

list ×1

recursion ×1

scala ×1