class Solution {
  public:
    int max_diameter =0;
    
    int height(Node* node){
        if(node == nullptr){
            return 0;
        }
        
        int left = height(node->left);
        int right = height(node->right);
        
        max_diameter = max(max_diameter , left+right);
        
        return 1+ max(left , right);
    }
  
    int diameter(Node* root) {
        // Your code here
        height(root);
        return max_diameter;
    }
};

https://takeuforward.org/data-structure/calculate-the-diameter-of-a-binary-tree/

https://leetcode.com/problems/diameter-of-binary-tree/