注意:这是与家庭作业相关的,但我没有这样标记它,因为“家庭作业”标签被标记为过时(?)
使用以下实现二叉树的类...
class TreeNode
{
private Object value;
private TreeNode left, right;
public TreeNode(Object initValue)
{
value = initValue;
left = null;
right = null;
}
public TreeNode(Object initValue, TreeNode initLeft, TreeNode initRight)
{
value = initValue;
left = initLeft;
right = initRight;
}
public Object getValue()
{
return value;
}
public TreeNode getLeft()
{
return left;
}
public TreeNode getRight()
{
return right;
}
public void setValue(Object theNewValue)
{
value = theNewValue;
}
public void setLeft(TreeNode theNewLeft)
{
left = theNewLeft;
}
public void setRight(TreeNode theNewRight)
{
right = theNewRight;
}
}
我需要计算二叉树中“独生子女”的节点数,这被定义为没有来自其父节点的另一个节点的节点。
这是我到目前为止所拥有的:
public static int countOnlys(TreeNode t)
{
if(t == null)
return 0;
if(isAnOnlyChild(t))
return 1;
return countOnlys(t.getLeft()) + countOnlys(t.getRight());
}
我不知道如何实现该boolean
方法isAnOnlyChild(TreeNode t)
有人可以帮我吗?