// 定义树节点类
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);
}
}
value
和一个子节点列表 children
。构造函数初始化节点值和子节点列表,addChild
方法用于添加子节点。preOrderTraversal
方法实现了前序遍历(先访问根节点,再递归访问每个子节点)。如果当前节点为空,则直接返回;否则先访问当前节点,再递归遍历其子节点。preOrderTraversal
方法进行遍历,输出遍历结果。通过这个例子,你可以理解如何使用递归实现树形结构的遍历。
上一篇:java中instanceof
下一篇:java 生成csv文件
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站