原题
求出所有有N个节点的满二叉树
class Solution {
public List<TreeNode> allPossibleFBT(int N) {
List<TreeNode> res=new ArrayList<>();
if (N%2==0) {
return res;
}
if(N==1){
TreeNode root=new TreeNode(0);
res.add(root);
return res;
}
for(int i=1;i<N;i++){
List<TreeNode>left=allPossibleFBT(i);
List<TreeNode>right=allPossibleFBT(N-i-1);
for(TreeNode l:left){
for(TreeNode r:right){
TreeNode root=new TreeNode(0);
root.left=l;
root.right=r;
res.add(root);
}
}
}
return res;
}
}