lc543二叉树的直径

lc543二叉树的直径

问题:给一个二叉树找该树的最大直径,即两个节点之间的最长路径

题解:两个节点之间的路径为边数和,即节点数减1。找左树的最大节点和L,右树的最大节点和R,最多节点d即为L+R+1。最长路径为d-1

 

int ans =1;

 

maxdepth(root);

return ans;

 

public int maxdepth(TreeNode root){

if(root==null) return 0;

int left = maxdepth(root.left);

int right = maxdepth(root.right);

ans = max(ans, left+right+1);

renturn Math.max(left,right)+1;

}

你可能感兴趣的:(java)