Java 返回树结构
时间: 2023-08-09 14:05:22 浏览: 101
要在Java中返回树结构,可以使用节点类和根节点类来表示树结构,然后使用递归算法从根节点开始遍历整个树。以下是代码示例:
``` java
class TreeNode {
int val;
List<TreeNode> children;
public TreeNode(int val) {
this.val = val;
children = new ArrayList<>();
}
}
class Tree {
TreeNode root;
public Tree(TreeNode root) {
this.root = root;
}
}
public class TreeTraversal {
public static void main(String[] args) {
// 构造一棵树
TreeNode root = new TreeNode(1);
TreeNode node1 = new TreeNode(2);
TreeNode node2 = new TreeNode(3);
TreeNode node3 = new TreeNode(4);
TreeNode node4 = new TreeNode(5);
root.children.add(node1);
root.children.add(node2);
node1.children.add(node3);
node2.children.add(node4);
Tree tree = new Tree(root);
// 遍历树
List<Integer> result = new ArrayList<>();
traverseTree(tree.root, result);
// 输出结果
System.out.println(result);
}
private static void traverseTree(TreeNode node, List<Integer> result) {
result.add(node.val);
for (TreeNode child : node.children) {
traverseTree(child, result);
}
}
}
```
上面的代码定义了一个`TreeNode`类表示树的节点,其中`val`表示节点的值,`children`表示节点的子节点列表。然后定义了一个`Tree`类表示一棵树,其中`root`表示树的根节点。在主函数中,使用节点类构造了一棵树,然后使用`traverseTree`方法递归遍历整个树,将节点的值加入到结果列表中。最后输出结果。
阅读全文