Diameter of Binary Tree LeetCode solution in C++
1class Solution {2public:3int diameterOfBinaryTree(TreeNode *root) {4int diameter = 0;5height(root, diameter);6return diameter;7}89private:10int height(TreeNode *node, int &diameter) {11if (!node) {12return 0;13}14int lh = height(node->left, diameter);15int rh = height(node->right, diameter);16diameter = max(diameter, lh + rh);17return 1 + max(lh, rh);18}19};