java递归查询所有子节点怎么实现

381
2023/10/17 10:18:09
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Java中,可以使用递归来查询所有子节点。具体实现如下:

首先,创建一个树节点类,包含一个值和一个子节点列表:

class TreeNode {
    int value;
    List<TreeNode> children;

    public TreeNode(int value) {
        this.value = value;
        children = new ArrayList<>();
    }
}

然后,创建一个递归方法来遍历所有子节点:

public void getAllChildren(TreeNode node) {
    if (node == null) {
        return;
    }
  
    // 遍历当前节点的所有子节点
    for (TreeNode child : node.children) {
        System.out.println(child.value);
        getAllChildren(child); // 递归调用,遍历子节点的子节点
    }
}

最后,使用以下代码创建一个树并调用递归方法来查询所有子节点:

public static void main(String[] args) {
    // 创建树结构
    TreeNode root = new TreeNode(1);
    TreeNode node2 = new TreeNode(2);
    TreeNode node3 = new TreeNode(3);
    TreeNode node4 = new TreeNode(4);
    TreeNode node5 = new TreeNode(5);

    root.children.add(node2);
    root.children.add(node3);
    node2.children.add(node4);
    node3.children.add(node5);

    // 查询所有子节点
    getAllChildren(root);
}

这样就可以通过递归查询树的所有子节点。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java中怎么定义char数组