https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal/
好题。
我知道需要用到 BST 的性质,但是没想出来优雅的方法,看了答案。
class Solution {
public TreeNode bstFromPreorder(int[] preorder) {
return buildTree(preorder, Integer.MAX_VALUE);
}
int i = 0;
public TreeNode buildTree(int[] preOrder, int bound) {
if (i == preOrder.length || preOrder[i] > bound) return null;
TreeNode node = new TreeNode(preOrder[i++]);
node.left = buildTree(preOrder, node.val);
node.right = buildTree(preOrder, bound);
return node;
}
}



