I have written a code for finding diameter of Binary Tree. Need suggestions for the following:
Neat and clean solution:
// way to use below util function:
prop p = new prop();
diameterUtil(root, p);
System.out.println(p.d);
class prop {
int h;
int d;
}
private void diameterUtil(Node n, prop p) {
if (n == null) {
p.h = 0;
p.d = 0;
return;
}
prop lp = new prop();
prop rp = new prop();
diameterUtil(n.left, lp);
diameterUtil(n.right, rp);
p.h = Math.max(lp.h, rp.h) + 1;
p.d = Math.max((lp.h + rp.h + 1), Math.max(lp.d, rp.d));
}