思路
解决此问题的一个简单方法是,利用递归思想,分别找到左子树中的最大元素和右子树中的最大元素,然后和跟节点的值做比较,这三个值中最大的就是问题的解,这个方法利用递归很容易实现
int findMax(BinaryTreeNode root){
int root_val,left,right,max=INT_MIN;
if(root != null){
root_val = root.getData();
left = findMax(root.getLeft());
right = findMax(root.getRight());
//在三个值中找出最大值
if(left > right){
max = left;
}else{
max = right;
}
if(root_val > max){
max = root_val;
}
return max;
}
}