Unique Binary Search Trees II

原创 2015年11月20日 15:56:42
  1. 问题

    Given n, generate all structurally unique BST's (binary search trees) that store values 1...n.

    For example,
    Given n = 3, your program should return all 5 unique BST's shown below.

       1         3     3      2      1
        \       /     /      / \      \
         3     2     1      1   3      2
        /     /       \                 \
       2     1         2                 3
    
  2. 解答
    class Solution {
    public:
        vector<TreeNode *> generate(int beg, int end)
        {
            vector<TreeNode* > ret;
            if (beg > end)
            {
                ret.push_back(NULL);
                return ret;
            }
            
            for(int i = beg; i <= end; i++)
            {
                vector<TreeNode* > leftTree = generate(beg, i - 1);
                vector<TreeNode* > rightTree = generate(i + 1, end);
                for(int j = 0; j < leftTree.size(); j++)
                    for(int k = 0; k < rightTree.size(); k++)
                    {
                        TreeNode *node = new TreeNode(i + 1);
                        ret.push_back(node);
                        node->left = leftTree[j];
                        node->right = rightTree[k];              
                    }           
            }
            
            return ret;
        }
        
        vector<TreeNode *> generateTrees(int n) {
            // Start typing your C/C++ solution below
            // DO NOT write int main() function
            return generate(0, n - 1);
        }
    };


版权声明:本文为博主原创文章,未经博主允许不得转载。

leetcode_middle_98_95. Unique Binary Search Trees II

题意: 给一个数n,返回所有能存储1到n的二叉查找树。 分析: 这是个好题,应该考虑深度优先搜索或者动态规划。 递归好理解: 遍历1到n每个数做结点。 对于每一个根节点,将左边的结点能构造出的...
  • pusude
  • pusude
  • 2017年03月10日 14:06
  • 147

[Leetcode] 95. Unique Binary Search Trees II 解题报告

题目: Given an integer n, generate all structurally unique BST's (binary search trees) that store...

LeetCode Unique Binary Search Trees II

题目 Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. ...

LeetCode 95: Unique Binary Search Trees II

Unique Binary Search Trees IIGiven n, generate all structurally unique BST’s (binary search trees) t...

[LeetCode][Java]Unique Binary Search Trees II

题目: Given n, generate all structurally unique BST's (binary search trees) that store values...

算法分析与设计第五周习题:95. Unique Binary Search Trees II

与96题的对比:        95题是96题Unique Binary Search Trees的升级版,95题增加了构建出所有树的要求,而不仅仅是计算树的数量。对于96题,我们可以轻易得出树数量...

[LeetCode]95.Unique Binary Search Trees II

【题目】 Given n, generate all structurally unique BST's (binary search trees) that store values 1....

LeetCode | Unique Binary Search Trees II(构建二叉搜索树)

Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. Fo...

LeetCode095 Unique Binary Search Trees II

详细见:leetcode.com/problems/unique-binary-search-trees-ii Java Solution: github package leetco...
  • zxwtry
  • zxwtry
  • 2017年04月24日 22:24
  • 93

Leetcode 95. Unique Binary Search Trees II及二叉树最大最小深度镜像树总结

95. Unique Binary Search Trees IIDescriptionHintsSubmissionsSolutionsGiven an integer n, generate al...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unique Binary Search Trees II
举报原因:
原因补充:

(最多只允许输入30个字)