5 の倍数である b ツリー ルートからノードへのパスを見つけるためのプログラムを実装するのに苦労しています。
例:
12
/ \
4 7
/\ /\
5 3 4 10
これを木と考えてください。プログラムは印刷する必要があります
12 -> 4 -> 5
12 -> 7 -> 10
編集:
はい、試してみましたが、以下は私がフォローしているアルゴリズムです: 順番にトラバースし、5 の倍数の値を比較します。そうであれば、LinkedList にノードを追加し始め、そのリストを返します。しかし、このアプローチは、5 の倍数が 1 つある場合にのみ機能します。それ以上の倍数がある場合は失敗します。
以下は私が試したことです:
LinkedList<Integer> getPaths(Node parent, int multiple){
if(parent == null)
return null;
LinkedList list = new LinkedList();
list = getPaths(parent.getLeftChild(), 5);
if(parent.getSID() % multiple == 0){
list.add(parent.getSID());
return list;
}
list = getPaths(parent.getRightChild(),5);
if(list != null)
list.add(parent.getSID());
return list;
}