Skip to content
/ leettree Public

Convert array to binary tree and vice versa using level order traversal like LeetCode. Useful for testing LeetCode solutions.

License

Notifications You must be signed in to change notification settings

ecgan/leettree

Repository files navigation

leettree

Build Status codecov JavaScript Style Guide

Convert array to binary tree and vice versa using level order traversal like LeetCode!

See LeetCode FAQ on binary tree representation using array here.

Installation

npm install leettree

Usage

Deserialize and Serialize

// in node.js environment.
// you can use ES6 import too.
const leettree = require('leettree')

// initial input value.
const array = [1, 2, 3, null, null, 6]

// deserialize the array into binary tree.
const binaryTree = leettree.deserialize(array)
// TreeNode {
//   val: 1,
//   right: TreeNode {
//     val: 3,
//     right: null,
//     left: TreeNode {
//       val: 6,
//       right: null,
//       left: null
//     }
//   },
//   left: TreeNode {
//     val: 2,
//     right: null,
//     left: null
//   }
// }

// serialize the binary tree back into array.
const array2 = leettree.serialize(binaryTree)
// [1, 2, 3, null, null, 6]

Creating TreeNode

const TreeNode = require('leettree').TreeNode

const root = new TreeNode(1)
root.left = new TreeNode(2)
root.right = new TreeNode(3)
root.right.left = new TreeNode(6)

See the code and tests for more usage examples.

About

Convert array to binary tree and vice versa using level order traversal like LeetCode. Useful for testing LeetCode solutions.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published