private static LeetCode108TreeNode BuildBSTInPreOrderLeftMiddle(int left, int right) { if (left > right) { return(null); } // find the middle point var middleIndex = (right - left) / 2 + left; // construct the node var root = new LeetCode108TreeNode(inputNums[middleIndex]); // build the left tree root.left = BuildBSTInPreOrderLeftMiddle(left, middleIndex - 1); // build the right tree root.right = BuildBSTInPreOrderLeftMiddle(middleIndex + 1, right); return(root); }
public LeetCode108TreeNode(int val = 0, LeetCode108TreeNode left = null, LeetCode108TreeNode right = null) { this.val = val; this.left = left; this.right = right; }