私は再帰的な方法に取り組んでいます...
public BinaryTree<T> TreeMirror ( BinaryTree<T> tree ) {
BinaryTree mirror = new BinaryTree();
mirror = clone(tree);
...
TreeMirror(...)
...
}
メソッドが各再帰ステップでmirror
異なるオブジェクトを参照したり、最初の反復後にステートメントを繰り返したりすることは望んでいません。のインスタンスが既に初期化されているかどうかを確認するために、if ステートメント チェックを入れることが可能かどうか疑問に思っています。その場合、 andステートメントはスキップされます。BinaryTree
mirror = clone(tree)
mirror
mirror = new BinaryTree()
mirror = clone(tree)
メソッドに引数として渡すか、クラス定義で定義しない限り、これは不可能だと思いmirror
ます...しかし、確認したいと思います。
どんなアドバイスでも大歓迎です。
- - - - -編集 - - - - - -
メソッドのシグネチャを変更することは許可されていないため、実装でオブジェクトを渡すことはできません。ミラー ツリーを作成することはできますが、元のツリーをミラーに変更することは避けたいと考えています。渡された元のツリーのミラーである新しいオブジェクトを作成しようとしましたBinaryTree
が、再帰的に行う方法が実際にはわかりません。