import java.util.*;
public class Solution {
public int num;
public int dfs(TreeNode root){
if(root == null)return -1;
if(root.left == null && root.right == null)return 0;
int x1 = dfs(root.left)+1;
int x2 = dfs(root.right)+1;
num = Math.max(num,x1+x2);
return Math.max(x1,x2);
}
public int diameterOfBinaryTree (TreeNode root) {
// write code here
if(root == null)return 0;
dfs(root);
return num;
}
}