我有一个树存储节点中的元素列表.我需要编写一个函数来获取这样的树并返回在节点中具有元素总和的树.
我认为这是一项简单的任务,但发生了一些错误: 错误
这是IntelliJ显示的内容:
最后这是我的代码:
sealed trait tree[+A]
case object Empty extends tree[Nothing]
case class Node[A](element:A,left:tree[A],right:tree[A]) extends tree[A]
val tr=Node(List(1,2,3),Node(List(3,4,5),Empty,Node(List(2,4,5),Empty,Empty)),Node(List(6,7,8),Empty,Empty))
def transformTree[Double](t:tree[List[Double]]):tree[Double]={
t match{
case Empty => Empty
case Node(l,left,right)=>Node[Double](l.foldLeft(0)((a:Double,b:Double)=>(a+b)),transformTree(left),transformTree(right))
}
}
transformTree(tr)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它会在那里期待弦,所以如果可以的话请向我解释一下:)