使用Java实现二叉树的前序,中序和后序遍历函数
发布时间:2023-07-04 20:55:09
在Java中,二叉树的前序、中序和后序遍历可以通过递归或者迭代的方式实现。下面将分别介绍这三种遍历的实现方法。
1. 前序遍历:
前序遍历的顺序是:根节点 -> 左子树 -> 右子树。可以通过递归的方式实现。
// 前序遍历
public void preorderTraversal(TreeNode root) {
if (root == null) {
return;
}
System.out.print(root.val + " "); // 访问根节点
preorderTraversal(root.left); // 递归遍历左子树
preorderTraversal(root.right); // 递归遍历右子树
}
2. 中序遍历:
中序遍历的顺序是:左子树 -> 根节点 -> 右子树。同样可以通过递归的方式实现。
// 中序遍历
public void inorderTraversal(TreeNode root) {
if (root == null) {
return;
}
inorderTraversal(root.left); // 递归遍历左子树
System.out.print(root.val + " "); // 访问根节点
inorderTraversal(root.right); // 递归遍历右子树
}
3. 后序遍历:
后序遍历的顺序是:左子树 -> 右子树 -> 根节点。同样可以通过递归的方式实现。
// 后序遍历
public void postorderTraversal(TreeNode root) {
if (root == null) {
return;
}
postorderTraversal(root.left); // 递归遍历左子树
postorderTraversal(root.right); // 递归遍历右子树
System.out.print(root.val + " "); // 访问根节点
}
以上是使用递归方式实现二叉树的前序、中序和后序遍历的方法。此外,还可以使用迭代的方式来实现这三种遍历,通过借助栈来存储节点,实现中序遍历、前序遍历和后序遍历。
