次のコードnode
は再利用されています。今はそのままでいいですか、それとも新しい参照変数を作成することをお勧めします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());
}
コードにバグがある場合は無視してください。尋ねられた質問だけに注目してください。ありがとう。