写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。
//递归求最大值,最小值,时间复杂度o(n)
void findminmax(treenode* tree, int& maxval, int& minval){
if (maxval < tree->val)
maxval = tree->val;
if (minval>tree->val)
minval = tree->val;
if (tree->left != NULL)
findminmax(tree->left, maxval, minval);
if (tree->right != NULL)
findminmax(tree->right, maxval, minval);
}