894. All Possible Full Binary Trees
Input: 7
Output: [[0,0,0,null,null,0,0,null,null,0,0],[0,0,0,null,null,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,null,null,null,null,0,0],[0,0,0,0,0,null,null,0,0]]
Explanation:
vector<TreeNode*> allPossibleFBT(int N) {
vector<TreeNode*> res;
if (N == 1) {
res.push_back(new TreeNode(0));
return res;
}
N -= 1;
for (int i = 1; i < N; i += 2) {
vector<TreeNode*> lefts = allPossibleFBT(i);
vector<TreeNode*> rights = allPossibleFBT(N - i);
for (TreeNode* l : lefts) {
for (TreeNode* r : rights) {
TreeNode* cur = new TreeNode(0);
cur->left = l;
cur->right = r;
res.push_back(cur);
}
}
}
return res;
}Previous889. Construct Binary Tree from Preorder and Postorder TraversalNext951. Flip Equivalent Binary Trees
Last updated