Construct Binary Search Tree from Preorder Traversal LeetCode solution in JavaScript
1var bstFromPreorder = function (preorder) {2let head = new TreeNode(preorder[0]);3for (let i = 1, curr; i < preorder.length; i++) {4curr = head;5while (1) {6if (preorder[i] > curr.val)7if (curr.right != null) {8curr = curr.right;9} else {10curr.right = new TreeNode(preorder[i]);11break;12}13else if (curr.left != null) {14curr = curr.left;15} else {16curr.left = new TreeNode(preorder[i]);17break;18}19}20}21return head;22};