用Java写一个树形结构
时间: 2023-03-19 12:22:21 浏览: 224
好的,以下是用Java写一个树形结构的示例代码:
```java
class TreeNode {
int val;
List<TreeNode> children;
TreeNode(int val) {
this.val = val;
children = new ArrayList<>();
}
void addChild(TreeNode child) {
children.add(child);
}
}
public class Tree {
TreeNode root;
Tree(int val) {
root = new TreeNode(val);
}
void addNode(TreeNode parent, TreeNode child) {
parent.addChild(child);
}
}
```
以上代码定义了两个类,一个是`TreeNode`表示树中的节点,另一个是`Tree`表示整个树。在`TreeNode`类中,我们定义了节点的值`val`和它的孩子节点列表`children`。在`Tree`类中,我们定义了根节点`root`,以及添加节点的方法`addNode`。其中,`addNode`方法接收两个参数,第一个参数是父节点,第二个参数是子节点,将子节点添加到父节点的孩子列表中。
使用以上代码,可以构建一棵树,例如:
```java
Tree tree = new Tree(1);
TreeNode node2 = new TreeNode(2);
TreeNode node3 = new TreeNode(3);
TreeNode node4 = new TreeNode(4);
tree.addNode(tree.root, node2);
tree.addNode(tree.root, node3);
tree.addNode(node2, node4);
```
以上代码构建了一棵树,根节点为1,有两个孩子节点2和3,2节点有一个孩子节点4。
阅读全文