Skip to content

Binary Tree In order Traverse

Daisho Komiyama edited this page Jul 4, 2021 · 3 revisions

Implement a function that returns a sorted array from this binary tree.

binary tree

const inorderTraverse = (node, array) => {
  if (!node) {
    // base case 
    return array
  }
  array = inorderTraverse(node.left, array)
  array.push(node.value)
  array = inorderTraverse(node.right, array)

  return array
};

const tree = {
  value: 8,
  left: {
    value: 4,
    left: {
      value: 3,
      left: {
        value: 2,
        left: null,
        right: null
      },
      right: null
    },
    right: {
      value: 5,
      left: null,
      right: {
        value: 7,
        left: {
          value: 6,
          left: null,
          right: null
        }
      }
    }
  },
  right: {
    value: 12,
    left: {
      value: 10,
      left: {
        value: 9,
        left: null,
        right: null
      },
      right: {
        value: 11,
        left: null,
        right: null
      }
    }
  }
}

inorderTraverse(tree, []) // [2,3,4,5,6,7,8,9,10,11,12]
Clone this wiki locally