LeetCode OJ Unique Binary Search Trees II
2015-03-28 22:28
525 查看
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.
confused what
read more on how binary tree is serialized on OJ.
https://leetcode.com/discuss/9790/java-solution-with-dp
偷偷改成了C++版本:
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
confused what
"{1,#,2,3}"means? >
read more on how binary tree is serialized on OJ.
https://leetcode.com/discuss/9790/java-solution-with-dp
偷偷改成了C++版本:
class Solution { public: vector<TreeNode *> generateTrees(int n) { vector<vector<TreeNode *> > dp(n + 1); dp[0].push_back(NULL); for (int len = 1; len <= n; len++) { for (int j = 0; j < len; j++) { for (int k1 = 0; k1 < dp[j].size(); k1++) { for (int k2 = 0; k2 < dp[len - j - 1].size(); k2++) { TreeNode * nodeL = dp[j][k1]; TreeNode * nodeR = dp[len - j - 1][k2]; TreeNode * node = new TreeNode(j + 1); node->left = nodeL; node->right = clone(nodeR, j + 1); dp[len].push_back(node); } } } } return dp ; } TreeNode * clone(TreeNode * n, int offset) { if (!n) return NULL; TreeNode * node = new TreeNode(n->val + offset); node->left = clone(n->left, offset); node->right = clone(n->right, offset); return node; } };
相关文章推荐
- Unique Binary Search Trees II(leetcode)
- LeetCode: Unique Binary Search Trees II
- [LeetCode][Java]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-95-Unique Binary Search Trees II 二叉树
- 95. Unique Binary Search Trees II ,leetcode
- Unique Binary Search Trees II - LeetCode
- [LeetCode P96] Unique Binary Search Trees II
- Leetcode-Unique Binary Search Trees II
- LeetCode - Unique Binary Search Trees II
- LeetCode--Unique Binary Search Trees II
- 2 Unique Binary Search Trees II_Leetcode
- LeetCode Online Judge 题目C# 练习 - Unique Binary Search Trees II
- LeetCode 95. Unique Binary Search Trees II&96. Unique Binary Search Trees--动态规划,二叉树
- 95. Unique Binary Search Trees II LeetCode
- LeetCode 95 Unique Binary Search Trees II
- LeetCode | Unique Binary Search Trees II