Skip to content

Latest commit

 

History

History
63 lines (48 loc) · 1.62 KB

README.md

File metadata and controls

63 lines (48 loc) · 1.62 KB

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.