Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java树形结构递归实现

作者:﹏丶夜,深了   发布日期:2025-03-19   浏览:374

// 定义树节点类
class TreeNode {
    int value; // 节点值
    List<TreeNode> children; // 子节点列表

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

    // 添加子节点
    public void addChild(TreeNode child) {
        this.children.add(child);
    }
}

// 递归遍历树结构
public class TreeTraversal {

    // 递归方法:前序遍历(根-左-右)
    public static void preOrderTraversal(TreeNode node) {
        if (node == null) {
            return;
        }

        // 访问当前节点
        System.out.println("访问节点: " + node.value);

        // 递归访问每个子节点
        for (TreeNode child : node.children) {
            preOrderTraversal(child);
        }
    }

    public static void main(String[] args) {
        // 创建树结构
        TreeNode root = new TreeNode(1);
        TreeNode child1 = new TreeNode(2);
        TreeNode child2 = new TreeNode(3);
        TreeNode child3 = new TreeNode(4);
        TreeNode child4 = new TreeNode(5);

        root.addChild(child1);
        root.addChild(child2);
        child1.addChild(child3);
        child2.addChild(child4);

        // 执行前序遍历
        System.out.println("前序遍历结果:");
        preOrderTraversal(root);
    }
}

解释说明:

  1. TreeNode 类:定义了树的节点,每个节点包含一个整数值 value 和一个子节点列表 children。构造函数初始化节点值和子节点列表,addChild 方法用于添加子节点。
  2. TreeTraversal 类:包含递归遍历树的方法。
    • preOrderTraversal 方法实现了前序遍历(先访问根节点,再递归访问每个子节点)。如果当前节点为空,则直接返回;否则先访问当前节点,再递归遍历其子节点。
  3. main 方法:创建了一个简单的树结构,并调用 preOrderTraversal 方法进行遍历,输出遍历结果。

通过这个例子,你可以理解如何使用递归实现树形结构的遍历。

上一篇:java中instanceof

下一篇:java 生成csv文件

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站