Fix incorrect recursive calls in inOrder() and postOrder() in BinaryTree.java
Author: gopal5587Created May 4, 2026Updated May 4, 2026
In lectures/20-trees/code/introduction/BinaryTree.java, the traversal methods for inOrder() and postOrder() appear to contain copy-paste mistakes.
Problem
Both traversal helpers call preOrder(...) instead of their own traversal method:
inOrder(Node node)callspreOrder(node.left)andpreOrder(node.right)postOrder(Node node)callspreOrder(node.left)andpreOrder(node.right)
Also, the public wrapper methods currently call preOrder(root) instead of the matching helper methods.
Expected behavior
inOrder()should callinOrder(root)postOrder()should callpostOrder(root)inOrder(Node node)should recursively callinOrder(...)postOrder(Node node)should recursively callpostOrder(...)
Suggested fix
public void inOrder() {
inOrder(root);
}
private void inOrder(Node node) {
if (node == null) {
return;
}
inOrder(node.left);
System.out.print(node.value + " ");
inOrder(node.right);
}
public void postOrder() {
postOrder(root);
}
private void postOrder(Node node) {
if (node == null) {
return;
}
postOrder(node.left);
postOrder(node.right);
System.out.print(node.value + " ");
}Source: kunal-kushwaha/DSA-Bootcamp-Java