1.输出二叉树中的叶子节点
void PreOrderPrintLeaves(BinTree BT)
{
if(BT){
if(!BT->Left && !BT->Right)
printf("%d\n",BT->Data);
PreOrderPrintLeaves(BT->Left);
PreOrderPrintLeaves(BT->Right);
}
}
对前序遍历做了简单的修改
2.求二叉树的深度
int PostOrderGetHight(BinTree BT)
{
int HL,HR,MaxH;
if(BT){
HL=PostOrderGetHight(BT->Left);
HR=PostOrderGetHight(BT->Right);
MaxH=(HL>HR)?HL:HR;
return (MaxH+1);
}
else return 0;
}
对后序遍历进行修改(理解上存疑)