0
私はバイナリ検索ツリーを持っていると私はこのような特定の値でサブツリーを取得したい戻りますJavaの再帰的なメソッドは常にnull
null
ただし、常にnull値を返します。私はなぜ、どのようにこの問題を解決するかを知りたい。ありがとう!
私はバイナリ検索ツリーを持っていると私はこのような特定の値でサブツリーを取得したい戻りますJavaの再帰的なメソッドは常にnull
null
ただし、常にnull値を返します。私はなぜ、どのようにこの問題を解決するかを知りたい。ありがとう!
getNode(root.left, c)
とgetNode(root.right, c)
が返す結果は評価されていません。
正しいは次のようになります。
private Node getNode(Node root, Object c) {
String datac = String.valueOf(c);
if(root == null) return null;
if(Objects.equals(datac, root.data)) return root;
Node tmp;
return ((tmp = getNode(root.left, c)) != null) ? tmp : getNode(root.right, c);
}
はそれを見つけるためにデバッガを使用してください。私の最初の推測は、 'ルート'がヌルであることです – Jens
再帰呼び出しの戻り値で何もしません。 –
ルートはnullではありません。 –