DEV Community

Discussion on: Traversing a Binary Search Tree in JS

Collapse
 
webreflection profile image
Andrea Giammarchi

let's make it like it's December 2021, shall we?

In-Order

const inorderTraversal = root => traverse(root, []);
const traverse = (root, stack) => {
  if (root) {
    traverse(root.left, stack);
    stack.push(root.val);
    traverse(root.right, stack);
  }
  return stack;
};
Enter fullscreen mode Exit fullscreen mode

Pre-Order

const preorderTraversal = root => traverse(root, []);
const traverse = (root, stack) => {
  if (root) {
    stack.push(root.val);
    traverse(root.left, stack);
    traverse(root.right, stack);
  }
  return stack;
};
Enter fullscreen mode Exit fullscreen mode

Post-Order

const postorderTraversal = root => traverse(root, []);
const traverse = (root, stack) => {
  if (root) {
    traverse(root.left, stack);
    traverse(root.right, stack);
    stack.push(root.val);
  }
  return stack;
};
Enter fullscreen mode Exit fullscreen mode