【问题标题】:A list of all possible full binary trees with n nodes具有 n 个节点的所有可能的完整二叉树的列表
【发布时间】:2021-10-15 17:48:15
【问题描述】:

这是问题的链接:All Possible Full Binary Trees

给定一个整数n,返回所有可能的完整二叉树的列表n 节点。答案中每棵树的每个节点都必须有Node.val == 0

答案的每个元素都是一棵可能的树的根节点。您可以按任意顺序返回最终的树列表。

完全二叉树是每个节点正好有02 子节点的二叉树。

示例 1:

输入:n = 7

输出:

[[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]]

在这个问题中,我必须返回所有可能的完整二叉树的列表,这是我的解决方案的 java 代码,任何人都可以帮助我找出我的代码出错的地方,对于每个输入,我的代码都是空的列表。

class Solution {
    public List<TreeNode> allPossibleFBT(int n) {
        if (n == 1) {
            List<TreeNode> list = new ArrayList<TreeNode>();
            list.add(new TreeNode(0));
            return list;
        }
        List<TreeNode> left;
        List<TreeNode> right;
        List<TreeNode> all = new ArrayList<TreeNode>();

        for (int i = 1; i < n; i = i + 2) {
            left = allPossibleFBT(i);
            right = allPossibleFBT(n - i - 1);

            for (int k = 0; i < left.size(); k++) {
                for (TreeNode treeNode : right) {
                    TreeNode root = new TreeNode(0);
                    root.left = left.get(k);
                    root.right = treeNode;
                    all.add(root);
                }
            }
        }
        return all;
    }
}

树节点类:

/**
 * Definition for a binary tree node.
 */
public class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;

    TreeNode() { }

    TreeNode(int val) {
        this.val = val;
    }

    TreeNode(int val, TreeNode left, TreeNode right) {
        this.val = val;
        this.left = left;
        this.right = right;
    }
}

【问题讨论】:

  • 能否请您提供您的 TreeNode 类?
  • 是的,我提供了treenode类,请再次查看,我请求您使用我提供的链接访问问题一次。
  • 答案显示你打错了。投票结束。

标签: java recursion tree binary-tree combinations


【解决方案1】:

for(int k=0;i&lt;left.size();k++) 中,您需要将i 替换为k

【讨论】:

    猜你喜欢
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 2015-01-05
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多