在下面的代码node
中被重用了。现在可以保持原样还是建议创建一个新的引用变量 say nodePopped
?
public void preOrder(TreeNode node) {
final Stack<TreeNode> stack = new Stack<TreeNode>();
do {
System.out.println(node.item);
while (node != null) {
stack.push(node.left); // just like a function call
}
node = stack.pop(); // OR TreeNode nodePopped = stack.pop() ?
if (node.right != null) {
stack.add(node);
}
} while (!stack.isEmpty());
}
如果代码有错误请忽略,请仅关注已提出的问题。谢谢。