题目大意:求二叉树中最大的整数值和最小的整数值的差值。
struct BinaryTreeNode
{
BinaryTreeNode(){m_pLeft=NULL,m_pRight=NULL;}
BinaryTreeNode(int info){data=info,m_pLeft=NULL,m_pRight=NULL;}
int data;
BinaryTreeNode* m_pLeft;
BinaryTreeNode* m_pRight;
};
int MaxSub(BinaryTreeNode* pRoot,int &Minvalue,int &Maxvalue)
{
int Lmin,Lmax,Rmin,Rmax;
if (pRoot==NULL)
{
Minvalue=100;
Maxvalue=0;
return 0;
}
MaxSub(pRoot->m_pLeft, Lmin,Lmax);
MaxSub(pRoot->m_pRight,Rmin,Rmax);
Minvalue=min(min(Lmin,Rmin),pRoot->data);
Maxvalue=max(max(Lmax,Rmax),pRoot->data);
return (Maxvalue-Minvalue);
}