注意:これは宿題に関連していますが、「宿題」タグが廃止(?)としてマークされているため、そのようにタグ付けしていません。
二分木を実装する次のクラスを使用して...
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)
誰か助けてくれませんか?