说明:本文章所采用的代码为Java代码
定义基础的二叉树结点
public class TreeNode{
int val;
TreeNode left;
TreeNode right;
TreeNode(int x){
val=x;
}
}
二叉树的遍历递归实现可以分为三种:
1、先序遍历
若被遍历的二叉树为空,执行空操作;否则,依次执行下列操作:
(1):访问根结点;
(2) :先序遍历遍历左子树
(3) : 先序遍历右子树
public void preOrder(TreeNode treeNode){
System.out.println(treeNode.val);
if(treeNode.left!=null){
preOrder(treeNode.left);
}
if(treeNode.right!=null){
preOrder(treeNode.right);
}
}
2、中序遍历
若被遍历的二叉树为空,执行空操作;否则执行下列操作
(1):中序遍历左子树
(2):访问根结点
(3):中序遍历右子树
public void inOrder(TreeNode treeNode){
if(treeNode.left!=null){
inOrder(treeNode.left);
}
System.out.println(treeNode.val);
if(treeNode.right!=null){
inOrder(treeNode.right);
}
}
3、后续遍历
若被遍历的二叉树为空,执行空操作;否则,执行下列操作
(1):后续遍历左子树
(2):后续遍历右子树
(3):访问根结点
public void postOrder(TreeNode treeNode){
if(treeNode.left!=null){
postOrder(treeNode.left);
}
if(treeNode.right!=null){
postOrder(treeNode.right);
}
System.out.println(treeNode.val)
}