I have written a code for finding diameter of Binary Tree. Need suggestions for the following:
There is a minimal O(n) answer compared to the accepted one.
int DiameterTree(BinaryTreeNode root, int diameter) {
int left, right;
if (!root) return 0;
left = DiameterTree(root.getLeft(), diameter);
right = DiameterTree(root.getRight(), diameter);
if (left + right > diameter) diameter = left + right;
return Math.max(left, right) + 1;
}
Assume diameter
is a static variable in class.