注意:這是家庭作業相關的,但我沒有標註它是這樣,因爲「功課」的標籤被標記爲已廢棄如何計算二叉樹中「獨子」節點的數量?
使用下面的類,它實現二叉樹...
(?)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)
有人能幫助我嗎?
你有沒有想過實現'hasOnlyOneChild()'呢? – ajp15243
我不明白;你能解釋一下嗎? – jollypop