递归查找二叉树最大元素(java)

思路

解决此问题的一个简单方法是,利用递归思想,分别找到左子树中的最大元素和右子树中的最大元素,然后和跟节点的值做比较,这三个值中最大的就是问题的解,这个方法利用递归很容易实现

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;
  }


}

猜你喜欢

转载自blog.csdn.net/weixin_37632716/article/details/109828954
今日推荐