Unique Binary Search Trees II
来源:互联网 发布:自己的淘宝后台在哪里 编辑:程序博客网 时间:2024/04/30 01:36
1.在1~N中任选一个数i
2.把小于i的数作为左子树,大于i的数作为右子树
3.递归生成BST
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution { vector<TreeNode *> BuildTree(int start,int end){ vector<TreeNode *> leftSubTree,rightSubTree,ret; if(start>end){ ret.push_back( NULL); return ret; } for(int i=start;i<=end;++i){ leftSubTree = BuildTree(start,i-1); rightSubTree = BuildTree(i+1,end); for(int j=0;j<leftSubTree.size();++j){ for(int k=0;k<rightSubTree.size();++k){ TreeNode *root = new TreeNode(i); root->left=leftSubTree[j]; root->right=rightSubTree[k]; ret.push_back(root); } } } return ret; }public: vector<TreeNode *> generateTrees(int n) { // Start typing your C/C++ solution below // DO NOT write int main() function return BuildTree(1,n); }};
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees (& II)
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- Unique Binary Search Trees II
- C/C++检测内存泄漏的工具 vld Visual Leak Detector223 的使用方法和sample示例
- 树状数组
- 怎样启动Routing and Remote Access服务
- IPD与项目管理、CMM的关系
- 30段超实用CSS代码(1)
- Unique Binary Search Trees II
- 字符串赋值给字符指针(char *a="hello")的正确理解方式
- 30段超实用CSS代码 (2)
- 集合转换为数组
- 图解数据结构(8)——二叉堆
- JMS-任务管理系统 报表1
- 软件工程系暑假培训计划之二——iOS培训大纲
- GDB调试core文件
- 第10章PADS Layout的元器件的布局