Java实现二叉树遍历(前序、中序、后序)
时间: 2024-09-12 09:00:23 浏览: 46
Java实现二叉树的前序、中序和后序遍历通常使用递归方法。下面是每个遍历方法的简单介绍和代码实现:
1. 前序遍历(Preorder Traversal):首先访问根节点,然后递归地进行前序遍历左子树,最后递归地进行前序遍历右子树。
2. 中序遍历(Inorder Traversal):首先递归地进行中序遍历左子树,然后访问根节点,最后递归地进行中序遍历右子树。
3. 后序遍历(Postorder Traversal):首先递归地进行后序遍历左子树,然后递归地进行后序遍历右子树,最后访问根节点。
下面是使用递归实现二叉树三种遍历方式的Java代码示例:
```java
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public class BinaryTreeTraversal {
// 前序遍历
public void preorderTraversal(TreeNode root) {
if (root == null) return;
System.out.print(root.val + " "); // 访问根节点
preorderTraversal(root.left); // 遍历左子树
preorderTraversal(root.right); // 遍历右子树
}
// 中序遍历
public void inorderTraversal(TreeNode root) {
if (root == null) return;
inorderTraversal(root.left); // 遍历左子树
System.out.print(root.val + " "); // 访问根节点
inorderTraversal(root.right); // 遍历右子树
}
// 后序遍历
public void postorderTraversal(TreeNode root) {
if (root == null) return;
postorderTraversal(root.left); // 遍历左子树
postorderTraversal(root.right); // 遍历右子树
System.out.print(root.val + " "); // 访问根节点
}
}
```
阅读全文