对于树这种数据结构,最主要的就是树的遍历.
而我们有三种遍历方法,前序(根左右),中序(左根右),后序(左右根)
一个树的深度等于1+它的最深子树的深度
如果,左子树深度3,右子树深度2
所以这个树的深度为1+3=4.
这样我们用递归几行代码就搞定了.
前序(根左右),中序(左根右),后序(左右根)的唯一区别就是代码顺序
// 根左右 前序遍历
public void printNodeFrontOrder(TreeNode node){
if(node!=null){
System.out.println(node);
printNodeFrontOrder(node.left);
printNodeFrontOrder(node.right);
}
}
// 左根右 中序遍历
public void printNodeMidOrder(TreeNode node){
if(node!=null){
printNodeMidOrder(node.left);
System.out.println(node);
printNodeMidOrder(node.right);
}
}
// 左右根 后序遍历
public void printNodeBackOrder(TreeNode node){
if(node!=null){
printNodeBackOrder(node.left);
printNodeBackOrder(node.right);
System.out.println(node);
}
}