1.求二叉树的高度
int _GetTreeHight(Node<T>* pRoot)
{
if(pRoot==NULL)
return 0;
if(pRoot->_pLeft==NULL&&pRoot->_pRight==NULL)
return 1;
int left=_GetTreeHight(pRoot->_pLeft)+1;
int right=_GetTreeHight(pRoot->_pRight)+1;
return left>right?left:right;
}
2.求叶子结点的个数
int _LeafNodeNum(Node<T>* pRoot)
{
if(pRoot==NULL)
return 0;
if(pRoot->_pLeft==NULL&&pRoot->_pRight==NULL)
return 1;
int left=_LeafNodeNum(pRoot->_pLeft);
int right=_LeafNodeNum(pRoot->_pRight);
return left+right;
}
3.判断一个数据是否在一棵二叉树中
Node<T>* _Find(Node<T>* pRoot,const T& data)
{
if(pRoot==NULL)
return NULL;
if(pRoot->_value==data)
return pRoot;