[Leetcode] Unique Binary Search Trees II
2014-04-10 15:15
633 查看
Given 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.
哎,WA了两次,因为把root = new TreeNode(i)放错了位置,这句应该放在最里面的循环里。因为每次都要新生成一棵树!
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
哎,WA了两次,因为把root = new TreeNode(i)放错了位置,这句应该放在最里面的循环里。因为每次都要新生成一棵树!
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<TreeNode *> generateTrees(int st, int ed) { vector<TreeNode *> res; TreeNode *root = NULL; if (st > ed) { res.push_back(root); return res; } vector<TreeNode *> left; vector<TreeNode *> right; for (int i = st; i <= ed; ++i) { left = generateTrees(st, i - 1); right = generateTrees(i + 1, ed); for (int j = 0; j < left.size(); ++j) { for (int k = 0; k < right.size(); ++k) { root = new TreeNode(i); root->left = left[j]; root->right = right[k]; res.push_back(root); } } } return res; } vector<TreeNode *> generateTrees(int n) { return generateTrees(1, n); } };
相关文章推荐
- Unique Binary Search Trees II 输出二叉树的所有组合@LeetCode
- LeetCode | Unique Binary Search Trees II
- LeetCode刷题笔录Unique Binary Search Trees II
- LeetCode95 Unique Binary Search Trees II
- leetcode -day28 Unique Binary Search Trees I II
- 【LeetCode】C# 95、Unique Binary Search Trees II
- [leetcode]Unique Binary Search Trees II
- leetCode 95.Unique Binary Search Trees II (唯一二叉搜索树) 解题思路和方法
- [leetcode] 95. Unique Binary Search Trees II
- leetcode:Unique Binary Search Trees II
- Leetcode: Unique Binary Search Trees II
- Leetcode: 95. Unique Binary Search Trees II
- LeetCode: Unique Binary Search Trees II
- LeetCode题解——Unique Binary Search Trees II
- Unique Binary Search Trees II [leetcode]
- Leetcode_95 Unique Binary Search Trees II
- LeetCode-Unique Binary Search Trees II
- [leetcode] Unique Binary Search Trees II
- Leetcode 95. Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II (难以忍受的递归)