# BST Traversal

![](https://3743232000-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHW2IQuh2PFpWJDvBz2FF%2Fuploads%2Fgit-blob-b5c400685ccb6e3ad37cefe49f7e8e5dc102e86f%2FScreenshot%202023-01-21%20at%2022.47.32.png?alt=media)

*

```jsx
function inOrderTraverse(tree, arr) {
  if (tree === null){
    return;
  }

  inOrderTraverse(tree.left, arr);
  arr.push(tree.value);
  inOrderTraverse(tree.right, arr);
  
  return arr;
}

function preOrderTraverse(tree, arr) {
  if (tree === null){
    return;
  }

  arr.push(tree.value);
  preOrderTraverse(tree.left, arr);
  preOrderTraverse(tree.right, arr);
  
  return arr;
}

function postOrderTraverse(tree, arr) {
  if (tree === null){
    return;
  }

  postOrderTraverse(tree.left, arr);
  postOrderTraverse(tree.right, arr);
  arr.push(tree.value);
  
  return arr;
}

// Do not edit the lines below.
exports.inOrderTraverse = inOrderTraverse;
exports.preOrderTraverse = preOrderTraverse;
exports.postOrderTraverse = postOrderTraverse;
```
