我正在使用Scala在leetcode上做练习。我正在解决的问题是“二叉树的最大深度”,这意味着找到二叉树的最大深度。
我已经用IntelliJ传递了我的代码,但在用Leetcode提交我的解决方案时,我总是遇到编译错误(类型不匹配)。这是我的代码,有什么问题或其他解决方案吗?
object Solution {
abstract class BinTree
case object EmptyTree extends BinTree
case class TreeNode(mid: Int, left: BinTree, right: BinTree) extends BinTree
d
我不是程序员,但作为我个人项目的一部分,我很想了解是否有一种递归解决方案,能够首先打印二叉树的宽度,级别顺序?我知道可以使用迭代深度优先算法?
#Helper method
def getChildren(node):
children=[]
hasLeft = node.left is not None
hasRight = node.right is not None
if not hasLeft and not hasRight:
return []
if hasLeft:
children.append(node.
我有一个二叉树的ADT:
// ADT for a binary tree
sealed trait BinaryTree[A]
case class Leaf[A](value: A) extends BinaryTree[A]
case class Branch[A](left: BinaryTree[A], right: BinaryTree[A]) extends BinaryTree[A]
如何解决访问者模式?
def visit[A](sideEffect: A => Unit, tree: BinaryTree[A]) = ???