二叉树
我们先看下二叉树的定义
二叉树是每个节点最多有两个子树的树结构。通常子树被称作为左子树和右子树。
二叉树的遍历
二叉树的遍历分为先序、中序和后序遍历。顺序是相对于根节点而言的。
即先序遍历是先访问根节点,先序访问左子树,先序访问右子树;
中序遍历是中序访问左子树,访问根节点,中序访问右子树;
后序遍历是后序访问左子树,后序访问右子树,访问根节点。
一般树的遍历都使用递归的方式实现,下面看下具体的代码:
void preOrder(TreeNode root) {
if(root == null) {
return;
}
System.out.print(root.val+" ");
preOrder(root.left);
preOrder(root.right);
}
void inOrder(TreeNode root) {
if(root == null) {
return;
}
inOrder(root.left);
System.out.print(root.val+" ");
inOrder(root.right);
}
void postOrder(TreeNode root) {
if(root == null) {
return;
}
postOrder(root.left);
postOrder(root.right);
System.out.print(root.val+" ");
}