阅读量:1
Java中递归二叉树遍历的方法有三种:前序遍历、中序遍历和后序遍历。
- 前序遍历(Preorder Traversal):先访问根节点,然后递归地遍历左子树和右子树。对于二叉搜索树,前序遍历会按照节点的大小顺序遍历树中的节点。
public void preorderTraversal(TreeNode root) { if (root != null) { System.out.print(root.val + " "); preorderTraversal(root.left); preorderTraversal(root.right); } }
- 中序遍历(Inorder Traversal):先递归地遍历左子树,然后访问根节点,最后递归地遍历右子树。对于二叉搜索树,中序遍历会按照节点的大小顺序遍历树中的节点。
public void inorderTraversal(TreeNode root) { if (root != null) { inorderTraversal(root.left); System.out.print(root.val + " "); inorderTraversal(root.right); } }
- 后序遍历(Postorder Traversal):先递归地遍历左子树和右子树,然后访问根节点。对于二叉搜索树,后序遍历会按照节点的大小顺序遍历树中的节点。
public void postorderTraversal(TreeNode root) { if (root != null) { postorderTraversal(root.left); postorderTraversal(root.right); System.out.print(root.val + " "); } }
这些方法都是基于递归的,通过不断地递归调用左子树和右子树实现对整个二叉树的遍历。