我正在研究一种递归方法...
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
对象,它是传入的原始树的镜像,但实际上无法弄清楚如何递归地执行它。