【发布时间】:2012-08-08 14:06:26
【问题描述】:
我写了一个删除树的所有元素的代码。 需要以下建议:
- reverseTreeStack方法中,是否可以不使用stack方法参数进行设计?
- 我可以用一种更好的设计方法设计整个代码吗?
更新:将 reverseTreeStack 的返回类型更改为 void。删除了堆栈的附加变量。
public class DeleteTree {
public static void deleteTree(BinaryTreeNode root)
{
Stack stack = new Stack();
reverseTreeStack(stack, root);
while (!stack.isEmpty())
{
BinaryTreeNode node = (BinaryTreeNode)stack.pop();
System.out.println("---------Deleting----------->" + node.getData());
node = null;
}
}
public static void reverseTreeStack(Stack stack,BinaryTreeNode root)
{
if (root != null)
{
stack.push(root);
reverseTreeStack(stack,root.getLeft());
reverseTreeStack(stack, root.getRight());
}
}
}
【问题讨论】:
-
家庭作业?如果是,请标记它。
标签: java recursion tree binary-tree