Java二叉树的遍历方式有哪些
Java二叉树的遍历方式有三种:
- 前序遍历(Pre-order traversal):先访问根节点,然后按照左子树-右子树的顺序递归遍历左右子树。
代码实现:
void preOrderTraversal(TreeNode root) {
if (root == null) return;
System.out.println(root.val);
preOrderTraversal(root.left);
preOrderTraversal(root.right);
}
- 中序遍历(In-order traversal):先按照左子树-根节点-右子树的顺序递归遍历左右子树,然后访问根节点。
代码实现:
void inOrderTraversal(TreeNode root) {
if (root == null) return;
inOrderTraversal(root.left);
System.out.println(root.val);
inOrderTraversal(root.right);
}
- 后序遍历(Post-order traversal):先按照左子树-右子树-根节点的顺序递归遍历左右子树,然后访问根节点。
代码实现:
void postOrderTraversal(TreeNode root) {
if (root == null) return;
postOrderTraversal(root.left);
postOrderTraversal(root.right);
System.out.println(root.val);
}