力扣第95题 不同的二叉搜索树II

Posted woodjay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了力扣第95题 不同的二叉搜索树II相关的知识,希望对你有一定的参考价值。

力扣第95题 不同的二叉搜索树II

给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。

技术图片

技术图片

struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

 vector<TreeNode*> generateTree(int start, int end)
 {
     vector<TreeNode*> vect;
     if (start > end)
     {
         vect.push_back(NULL);
         return vect;
     }
     for (int i = start; i <= end; i++)
     {
         vector<TreeNode*> left = generateTree(start, i - 1);
         vector<TreeNode*> right = generateTree(i + 1, end);
         for (vector<TreeNode*>::iterator itorl = left.begin(); itorl != left.end(); itorl++)
         {
             for (vector<TreeNode*>::iterator itorr = right.begin(); itorr != right.end(); itorr++)
             {
                 TreeNode* pNode = new TreeNode(i);
                 pNode->left = *itorl;
                 pNode->right = *itorr;
                 vect.push_back(pNode);
             }
         }
     }
     return vect;
 }

 vector<TreeNode*> generateTrees(int n) 
 {
     vector<TreeNode*> vect;
     if (n <= 0)
     {
         return vect;
     }
     return generateTree(1, n);
 }

以上是关于力扣第95题 不同的二叉搜索树II的主要内容,如果未能解决你的问题,请参考以下文章

95题--不同的二叉搜索树II(java中等难度)

95题--不同的二叉搜索树II(java中等难度)

Leetcode 95 不同的二叉搜索树II

Leetcode练习(Python):动态规划类:第95题:不同的二叉搜索树 II:给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。

Leetcode练习(Python):动态规划类:第95题:不同的二叉搜索树 II:给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。

95. 不同的二叉搜索树 II