您的位置:首页 > 产品设计 > UI/UE

Unique Binary Search Trees II [leetcode]

2014-09-27 23:40 260 查看
vector<TreeNode *> generateTrees(int n) {
return getTree(1, n);
}

vector<TreeNode*> getTree(int start, int end)
{
vector<TreeNode*> curRes;
if (start > end)
{
curRes.push_back(NULL);
return curRes;
}
for (int i = start; i <= end; i++)
{
vector<TreeNode*> left = getTree(start, i-1);
vector<TreeNode*> right = getTree(i+1, end);
for(int l = 0; l < left.size(); l++)
{
for (int r = 0; r < right.size(); r++)
{
TreeNode* root = new TreeNode(i);
root->left = left[l];
root->right = right[r];
curRes.push_back(root);
}
}
}
return curRes;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: