lintcode
class BST { constructor() { this.root = null; } addNode(val) { function dfs(node) { if(node === null) { return new TreeNode(val); } if(val >= node.val) { node.right = dfs(node.right); } else { node.left = dfs(node.left); } return node; } this.root = dfs(this.root); }addNodes(arr) { let tree = this; arr.forEach(val => { tree.addNode(val); }) }}