标签:
题目描述:
写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。
solution:
int findMinMax(BTNode *T) { if(!T) return 0; int max = INT_MIN; int min = INT_MAX; stack<BTNode*> s; s.push(T); while (!s.empty()) { BTNode *tmp = s.top(); if(tmp->data > max) max = tmp->data; if(tmp->data < min) min = tmp->data; s.pop(); if(tmp->rchild) s.push(tmp->rchild); if(tmp->lchild) s.push(tmp->lchild); } return max - min; }
标签:
原文地址:http://www.cnblogs.com/gattaca/p/4385464.html