我正在编写一种方法来查找二叉树是否已满,这是我目前所拥有的:
public boolean full(){
return fullHelper(this);
}
public boolean fullHelper(BinaryTreeNode<T> node){
if (node == null){return false;}
if (node.left == null && node.right == null){return true;}
if (node.left != null && node.right != null){
return fullHelper(node);
}
return false;
}
您传入的节点可以是根节点,也可以是某个任意节点,用于检查子树是否已满。我的方法一直卡在线上
return fullHelper(node);
我想知道为什么它不会通过它上面的线来检查两个孩子是否都为空。我对二叉树和一般的递归都很陌生,所以如果有人能帮助解释我所做的任何错误假设,我将不胜感激!