LeetCode-M-Unique Binary Search Trees II
2017-04-23 12:27
369 查看
##题意
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.
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
解法
实现
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<TreeNode*> generateTreesHelper(int start, int end){ vector<TreeNode*> result; if(start > end) { result.push_back(NULL); }else if(start == end){ TreeNode* root = new TreeNode(start); result.push_back(root); }else{ for(int i = start; i <= end; ++i){ vector<TreeNode*> left = generateTreesHelper(start,i-1); vector<TreeNode*> right = generateTreesHelper(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]; result.push_back(root); } } } } return result; } vector<TreeNode*> generateTrees(int n) { vector<TreeNode*> ivec; if(n <= 0) return ivec; ivec = generateTreesHelper(1,n); return ivec; } };
相关文章推荐
- leetcode — 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 95 Unique Binary Search Trees II
- LeetCode Unique Binary Search Trees II
- [LeetCode] Unique Binary Search Trees II
- LeetCode Unique Binary Search Trees II
- Unique Binary Search Trees II - LeetCode
- Leetcode: Unique Binary Search Trees II
- LeetCode Unique Binary Search Trees II
- LeetCode-Unique Binary Search Trees II-唯一二叉搜索树-递归
- 91_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
- [LeetCode] Unique Binary Search Trees II
- [leetcode]95. Unique Binary Search Trees II
- 【Leetcode】Unique Binary Search Trees II