https://github.com/ecgan/leettree
Convert array to binary tree and vice versa using level order traversal like LeetCode. Useful for testing LeetCode solutions.
https://github.com/ecgan/leettree
algorithms array binary-tree leetcode
Last synced: 6 days ago
JSON representation
Convert array to binary tree and vice versa using level order traversal like LeetCode. Useful for testing LeetCode solutions.
- Host: GitHub
- URL: https://github.com/ecgan/leettree
- Owner: ecgan
- License: mit
- Created: 2019-08-12T14:12:30.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T07:12:44.000Z (almost 3 years ago)
- Last Synced: 2025-09-10T05:47:20.370Z (about 1 month ago)
- Topics: algorithms, array, binary-tree, leetcode
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/leettree
- Size: 797 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# leettree
[](https://travis-ci.org/ecgan/leettree) [](https://codecov.io/gh/ecgan/leettree) [](https://standardjs.com)
Convert array to binary tree and vice versa using level order traversal like LeetCode!
See LeetCode FAQ on binary tree representation using array [here](https://support.leetcode.com/hc/en-us/articles/360011883654-What-does-1-null-2-3-mean-in-binary-tree-representation-).
## Installation
```shell
npm install leettree
```## Usage
### Deserialize and Serialize
```javascript
// 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
```javascript
const TreeNode = require('leettree').TreeNodeconst 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](/src) for more usage examples.