Java函数实现二叉树的前序遍历
发布时间:2023-07-04 00:16:49
前序遍历是一种二叉树的遍历方式,它从根节点开始,先遍历根节点,然后递归地遍历左子树和右子树。
对于给定的二叉树,我们可以使用递归方式实现前序遍历。下面是使用Java语言实现的前序遍历函数:
// 定义二叉树的节点类
class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
left = null;
right = null;
}
}
// 实现前序遍历的函数
public class PreorderTraversal {
public void preorder(TreeNode root) {
if (root == null) {
return;
}
// 先遍历根节点
System.out.print(root.val + " ");
// 递归遍历左子树
preorder(root.left);
// 递归遍历右子树
preorder(root.right);
}
public static void main(String[] args) {
// 构造一个二叉树
TreeNode root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
root.left.right = new TreeNode(5);
// 创建一个PreorderTraversal对象
PreorderTraversal traversal = new PreorderTraversal();
// 调用preorder函数进行前序遍历
traversal.preorder(root);
}
}
上述代码中,我们定义了一个TreeNode类来表示二叉树的节点,其中包含节点的值val以及左子节点 left和右子节点 right。
然后,我们定义了一个PreorderTraversal类来实现前序遍历。在preorder函数中,首先判断当前节点是否为空,如果为空则直接返回;否则,先输出当前节点的值,然后递归遍历左子树和右子树。
最后,在main函数中,我们构造了一个二叉树,并调用preorder函数进行前序遍历。
运行以上代码,输出结果为1 2 4 5 3,表示二叉树前序遍历的结果。
