Leetcode-95.Unique Binary Search Trees II(a representative recursion problem)
来源:互联网 发布:java嵌入式开发 编辑:程序博客网 时间:2024/05/29 03:22
题目:
Given an integer 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
Subscribe to see which companies asked this question
class Solution { public: vector<TreeNode*> generateTrees(int n) { vector<TreeNode *>result; if (n == 0)return result; result = generateSubTree(1,n); return result; } vector<TreeNode *> generateSubTree(int start,int end){//产生从start到end之间编号的子树 vector<TreeNode *>re; if (end < start)return re; if (end - start == 0){ TreeNode *temp = new TreeNode(end); re.push_back(temp); return re; } for (int root = start; root <= end;root++){//根节点编号 vector<TreeNode *>left = generateSubTree(start,root-1);//产生左子树 vector<TreeNode *>right = generateSubTree(root+1,end);//产生右子树 int leftnum = left.size(); int rightnum = right.size(); for (int i = 0; i < (leftnum==0?1:leftnum);i++){ for (int j = 0; j < (rightnum==0?1:rightnum);j++){ TreeNode *tem = new TreeNode(root); tem->left = (leftnum==0?NULL:left[i]); tem->right = (rightnum==0?NULL:right[j]); re.push_back(tem); } } } return re; } };
的指针,容器的大小代表其存放的二叉搜索树的数量。在递归求解中,
1.将每个节点的指针依次存放到根节点的左右子树区域(left和right)。
2.通过数字root来划分左右字数的数字,并将它们形成的子二叉搜索树链接起来。。。
0 0
- Leetcode-95.Unique Binary Search Trees II(a representative recursion problem)
- [LeetCode]95.Unique Binary Search Trees II
- [Leetcode] 95. Unique Binary Search Trees II
- LeetCode --- 95. Unique Binary Search Trees II
- [leetcode] 95.Unique Binary Search Trees II
- [leetcode] 95. Unique Binary Search Trees II
- 95. Unique Binary Search Trees II LeetCode
- ***LeetCode 95. Unique Binary Search Trees II
- Leetcode 95. Unique Binary Search Trees II
- LeetCode *** 95. Unique Binary Search Trees II
- 【LeetCode】95. Unique Binary Search Trees II
- LeetCode 95. Unique Binary Search Trees II
- [leetcode]95. Unique Binary Search Trees II
- [leetcode]95. Unique Binary Search Trees II
- [LeetCode] 95. Unique Binary Search Trees II
- LeetCode 95. Unique Binary Search Trees II
- [leetcode] 95. Unique Binary Search Trees II
- Leetcode-95. Unique Binary Search Trees II
- 音高和频率(转)
- Android第十四课;表格布局
- $.map()方法
- 常见Java七大排序
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Leetcode-95.Unique Binary Search Trees II(a representative recursion problem)
- 连表查询
- 京东上千页面搭建基石——CMS前后端分离演进史
- Leetcode——290. Word Pattern
- 集合框架_Map集合的遍历之键找值
- 今年我28岁
- 6.Hibernate检索及抓取策略
- 3-Centos-7-防火墙修改-Firewalld-Iptables
- Android数据存储与IO