我想比较2个二叉树(按顺序),如果它们不一样,我想尽早返回。
我知道你可以遍历两棵树,然后比较输出,但我想要一个更聪明的解决方案,以便尽早返回。
您将如何在 scala 中以优雅的方式做到这一点?演员?
节点:
case class Node(
var data: Int,
left:Option[Node],
right:Option[Node]
)
在我的主目录中,我有 3 个当前完全相同的树,但只需将其粘贴到此处,以便在需要时对其进行修改:
def main( args:Array[String] ) = {
val tree = Node( (3),
None,
Some(Node( (5),
Some(Node( (1),
None,
None )),
Some(Node( (9),
None,
Some(Node( (15),
None,
None )) )) )) )
val tree2 = Node( (3),
None,
Some(Node( (5),
Some(Node( (1),
None,
None )),
Some(Node( (9),
None,
Some(Node( (15),
None,
None )) )) )) )
val tree3 = Node( (3),
None,
Some(Node( (5),
Some(Node( (1),
None,
None )),
Some(Node( (9),
None,
Some(Node( (15),
None,
None )) )) )) )
}