二分探索ツリーでノードの深さを見つける関数を実装しましたが、実装は重複を処理しません。私は以下のコードを持っていますが、この関数で重複ケースを考慮する方法についていくつか提案をしたいと思います。あなたの助けを本当に感謝します.
public int depth(Node n) {
int result=0;
if(n == null || n == getRoot())
return 0;
return (result = depth(getRoot(), n, result));
}
public int depth(Node temp, Node n, int result) {
int cmp = n.getData().compareTo(temp.getData());
if(cmp == 0) {
int x = result;
return x;
}
else if(cmp < 0) {
return depth(temp.getLeftChild(), n, ++result);
}
else {
return depth(temp.getRightChild(), n, ++result);
}
}