leetcode 1008. Construct Binary Search Tree from Preorder Traversal | 1008. 前序遍历构造二叉搜索树(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 1008. Construct Binary Search Tree from Preorder Traversal | 1008. 前序遍历构造二叉搜索树(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal/
題解
好題。
我知道需要用到 BST 的性質,但是沒想出來優雅的方法,看了答案。
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/ 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;} }總結
以上是生活随笔為你收集整理的leetcode 1008. Construct Binary Search Tree from Preorder Traversal | 1008. 前序遍历构造二叉搜索树(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 796. Rotate
- 下一篇: leetcode 640. Solve