/**
* Created by lxw, liwei4939@126.com on 2017/10/30.
* 二叉树节点间的最大距离问题
*/
public class BTMaxDistance {
public class Node{
int value;
Node left;
Node right;
public Node(int data){
this.value = data;
}
}
public int MaxDistance(Node head){
int[] record = new int[1];
return posOrder(head, record);
}
public int posOrder(Node head, int[] record){
if(head == null){
record[0] = 0;
return 0;
}
int lMax = posOrder(head.left, record);
int MaxfromLeft = record[0];
int rMax = posOrder(head.right, record);
int MaxfromRight = record[0];
record[0] = Math.max(MaxfromLeft, MaxfromRight) + 1;
int curNodeMax = MaxfromLeft + MaxfromRight + 1;
return Math.max(Math.max(lMax, rMax), curNodeMax);
}
}
二叉树节点间的最大距离问题
最新推荐文章于 2021-08-29 20:24:15 发布