私は、ツリー内の子の数を数えられるLinkedBinaryTreeクラスのメソッドに取り組んでいます。私のコードは以下の通りですが、ドライバで実行すると無限ループに陥ります。Java - LinkedBinaryTree内の子の数を調べる
public int children(BinaryTreeNode<T> node) {
int children = 0;
if(node.getLeft() != null){
children = 1 + children(node);
}
else if(node.getRight() != null){
children = children + 1 + children(node);
}
return children;
}
特に、それはStackOverflowのエラーが発生し、このラインはだ、と私はそれを超えて移動することはできません。
children = 1 + children(node);
誰もが任意のアイデアを持っている私は私のコードを修正助けるためにどのように?私の論理で見落とされているものは何ですか?ヘルプをよろしくお願いいたします。
、それはそれぞれ '' node.getLeft() 'と' node.getRight()でなければなりません。 –