Java:求二叉树中节点的最大距离

来源:互联网 发布:mysql导出数据库 编辑:程序博客网 时间:2024/06/05 07:39
class Node{public int data;public Node left;public Node right;public int leftmaxdistance;public int rightmaxdistance;public Node(int data) {this.data=data;this.left=null;this.right=null;}}public class max_distance {private int maxlen=0;private int max(int a,int b) {return a>=b?a:b;}public void findmaxdistance(Node root) {if(root==null) {return ;}if(root.left==null) {root.leftmaxdistance=0;}else {findmaxdistance(root.left);}if(root.right==null) {root.rightmaxdistance=0;}else {findmaxdistance(root.right);}if(root.left!=null) {root.leftmaxdistance=max(root.left.leftmaxdistance,root.leftrightmaxdistance)+1;}if(root.right!=null) {root.rightmaxdistance=max(root.right.leftmaxdistance,root.right.rightmaxdistance)+1;}if(root.leftmaxdistance+root.rightmaxdistance>maxlen) {maxlen=root.leftmaxdistance+root.rightmaxdistance;}}}


 
原创粉丝点击