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); }