帮我写一个遍历树的代码
时间: 2023-08-20 18:22:47 浏览: 32
好的,以下是一个遍历二叉树的示例代码(使用中序遍历方式):
```java
class Node {
int data;
Node left, right;
public Node(int item) {
data = item;
left = right = null;
}
}
class BinaryTree {
Node root;
public BinaryTree() {
root = null;
}
// 中序遍历二叉树
public void inorderTraversal(Node node) {
if (node == null)
return;
// 左子树
inorderTraversal(node.left);
// 节点本身
System.out.print(node.data + " ");
// 右子树
inorderTraversal(node.right);
}
public static void main(String[] args) {
BinaryTree tree = new BinaryTree();
tree.root = new Node(1);
tree.root.left = new Node(2);
tree.root.right = new Node(3);
tree.root.left.left = new Node(4);
tree.root.left.right = new Node(5);
System.out.println("中序遍历结果为:");
tree.inorderTraversal(tree.root);
}
}
```
上述代码中,我们定义了一个 `Node` 类作为二叉树的节点,其中包含了该节点的数值、左子树和右子树。我们还定义了一个 `BinaryTree` 类,包含了根节点。在 `BinaryTree` 类中,我们实现了一个 `inorderTraversal()` 方法,该方法用于中序遍历整个二叉树,并将每个节点的数值打印出来。
在 `main()` 方法中,我们创建了一个二叉树,并输出了该二叉树的中序遍历结果。