按照先遍历左子树后遍历右子树的约定,根据访问根节点位置的不同,可以得到二叉树先序、中序和后续三种遍历方法。此外,二叉树还能进行层序遍历。
Java定义二叉树为:
public class TreeNode{
int val;
TreeNode left;
TreeNode right;
public TreeNode(int val){
this.val = val;
}
}
1、二叉树的先序遍历
void PreOrder(TreeNode root){
if(root != null){
System.out.println(root.val);
PreOrder(root.left);
PreOrder(root.right);
}
}
2、二叉树的中序遍历
void InOrder(TreeNode root){
if(root != null){
InOrder(root.left);
System.out.println(root.val);
InOrder(root.right);
}
}
3、二叉树的后序遍历
void PostOrder(TreeNode root){
if(root != null){
PostOrder(root.left);
PostOrder(root.right);
System.out.println(root.val);
}
}
4、二叉树的层次遍历