Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const arr = [1, 2, 3, 4, 5, 6, 7, 8]
- // const sorted = [5, 3, 7, 2, 4, 6, 8, 1]
- let root = null
- const addNodeLevelWise = value => {
- const newNode = {
- value,
- left: null,
- right: null,
- }
- if (!root) {
- root = newNode
- return true
- }
- let nodeToAddTo = root
- const q = [nodeToAddTo]
- while (q.length > 0) {
- nodeToAddTo = q.shift()
- if (!nodeToAddTo.left) {
- nodeToAddTo.left = newNode
- break
- }
- q.push(nodeToAddTo.left)
- if (!nodeToAddTo.right) {
- nodeToAddTo.right = newNode
- break
- }
- q.push(nodeToAddTo.right)
- }
- }
- arr.forEach(value => {
- addNodeLevelWise(value)
- })
- const preOrder = node => {
- if (!node) {
- return
- }
- preOrder(node.left)
- process.stdout.write(node.value + ' ')
- preOrder(node.right)
- }
- console.log('root', root)
- preOrder(root)
- // recursive preorder?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement