参考博客
http://blog.youkuaiyun.com/linhuanmars/article/details/24761437
代码
class Solution {
public:
vector<TreeNode *> generateTrees(int n) {
vector<TreeNode *> result;
TreeNode *oneTreeNode = new TreeNode(0);;
if(n==0)
return result;
if(n==1)
{
oneTreeNode->val = 1;
return result.push_back(oneTreeNode);
}
generateTreesHelper(result, oneTreeNode, n);
return result;
}
void generateTreesHelper( vector<TreeNode *> &result, TreeNode *oneTreeNode, int n)
{
for(int i = 3; i <= n; ++i)
{
TreeNode *node = new TreeNode(i);
node->left =
for(int j = 0; j < i; ++j)
{
generateTreesHelper(result, oneTreeNode, j);
}
}
}
};