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);
        }
    };


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

95 Unique Binary Search Trees II

题目链接:https://leetcode.com/problems/unique-binary-search-trees-ii/题目:Given n, generate all structural...
  • ChilseaSai
  • ChilseaSai
  • 2015年11月28日 12:59
  • 2904

LeetCode | Unique Binary Search Trees II

题目: Given n, generate all structurally unique BST's (binary search trees) that store values 1.....
  • lanxu_yy
  • lanxu_yy
  • 2013年12月23日 14:58
  • 9716

leetcode 95. Unique Binary Search Trees II | Java最短代码实现

Given n, generate all structurally unique BST's (binary search trees) that store values 1...n. For ...
  • happyaaaaaaaaaaa
  • happyaaaaaaaaaaa
  • 2016年03月09日 20:43
  • 687

[C++]LeetCode: 53 Unique Binary Search Trees

题目: Given n, how many structurally unique BST's (binary search trees) that store values 1...n? ...
  • cinderella_niu
  • cinderella_niu
  • 2014年12月23日 20:09
  • 849

[leetcode-95]Unique Binary Search Trees II(c++)

问题描述: Given n, generate all structurally unique BST’s (binary search trees) that store values 1…n.F...
  • zdavb
  • zdavb
  • 2015年08月10日 16:14
  • 396

Unique Binary Search Trees -- LeetCode

原题链接: http://oj.leetcode.com/problems/unique-binary-search-trees/  这道题要求可行的二叉查找树的数量,其实二叉查找树可以任意取根,只要...
  • linhuanmars
  • linhuanmars
  • 2014年04月30日 06:16
  • 20302

LeetCode(95)Unique Binary Search Trees II

题目如下: Given n, generate all structurally unique BST's (binary search trees) that store values 1...n....
  • feliciafay
  • feliciafay
  • 2014年01月13日 05:20
  • 1544

[C++]LeetCode: 92 Unique Binary Search Trees II

题目: Given n, generate all structurally unique BST's (binary search trees) that store values 1...n...
  • cinderella_niu
  • cinderella_niu
  • 2015年01月14日 15:25
  • 743

Unique Binary Search Trees II -- LeetCode

原题链接: http://oj.leetcode.com/problems/unique-binary-search-trees-ii/  这道题是求解所有可行的二叉查找树,从Unique Bina...
  • linhuanmars
  • linhuanmars
  • 2014年04月30日 06:15
  • 16905

96 Unique Binary Search Trees

题目链接:https://leetcode.com/problems/unique-binary-search-trees/题目:Given n, how many structurally uniq...
  • ChilseaSai
  • ChilseaSai
  • 2015年11月25日 21:04
  • 881
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Unique Binary Search Trees II
举报原因:
原因补充:

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