Skip to content

Commit fee2a66

Browse files
committed
Runtime: 7 ms (Top 68.09%) | Memory: 20.80 MB (Top 21.21%)
1 parent 78c2702 commit fee2a66

File tree

1 file changed

+13
-26
lines changed

1 file changed

+13
-26
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,20 @@
1-
/**
2-
* Definition for a binary tree node.
3-
* struct TreeNode {
4-
* int val;
5-
* TreeNode *left;
6-
* TreeNode *right;
7-
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
8-
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
9-
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
10-
* };
11-
*/
1+
// Runtime: 7 ms (Top 68.09%) | Memory: 20.80 MB (Top 21.21%)
2+
123
class Solution {
134
public:
145
int diameterOfBinaryTree(TreeNode* root) {
15-
166
int diameter = 0;
17-
height(root,diameter);
7+
height(root, diameter);
188
return diameter;
19-
209
}
21-
22-
int height(TreeNode* node, int& diameter){
23-
24-
if(!node) return 0;
25-
26-
int lh = height(node->left,diameter);
27-
int rh = height(node->right,diameter);
28-
diameter = max(diameter,lh+rh);
29-
30-
return 1 + max(lh,rh);
31-
10+
private:
11+
int height(TreeNode* node, int& diameter) {
12+
if (!node) {
13+
return 0;
14+
}
15+
int lh = height(node->left, diameter);
16+
int rh = height(node->right, diameter);
17+
diameter = max(diameter, lh + rh);
18+
return 1 + max(lh, rh);
3219
}
33-
};
20+
};

0 commit comments

Comments
 (0)