Skip to content

Commit 0c2f6da

Browse files
authored
Added C++ code for Diameter of Binary Tree (#257)
* Adding code of Diameter of Binary Tree for Cpp * Update README.md
1 parent b1e0be8 commit 0c2f6da

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ LeetCode
216216
|572|[Subtree of Another Tree](https://leetcode.com/problems/subtree-of-another-tree/) | [Python](./algorithms/python/SubtreeOfAnotherTree/isSubtree.py)|Easy|
217217
|563|[Binary Tree Tilt](https://leetcode.com/problems/binary-tree-tilt/) | [Python](./algorithms/python/BinaryTreeTilt/findTilt.py)|Easy|
218218
|547|[Friend Circles](https://leetcode.com/problems/friend-circles/) | [C++](./algorithms/cpp/friendCircles/FriendCircles.cpp)|Medium|
219-
|543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) | [Python](./algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py)|Easy|
219+
|543|[Diameter of Binary Tree](https://leetcode.com/problems/diameter-of-binary-tree/) | [C++](./algorithms/cpp/diameterOfBinaryTree/diameterOfBinaryTree.cpp), [Python](./algorithms/python/DiameterOfBinaryTree/diameterOfBinaryTree.py)|Easy|
220220
|538|[Convert BST to Greater Tree](https://leetcode.com/problems/convert-bst-to-greater-tree/) | [Python](./algorithms/python/ConvertBSTtoGreaterTree/convertBST.py)|Easy|
221221
|532|[K-diff Pairs in an Array](https://leetcode.com/problems/k-diff-pairs-in-an-array/) | [Python](./algorithms/python/K-diffPairsInAnArray/findPairs.py)|Easy|
222222
|520|[Detect Capital](https://leetcode.com/problems/detect-capital/) | [C++](./algorithms/cpp/detectCapital/DetectCapital.cpp)|Easy|
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// Source : https://leetcode.com/problems/add-and-search-word-data-structure-design/
2+
// Author : Arshdeep Singh
3+
// Date : 2021-10-01
4+
/**
5+
* Definition for a binary tree node.
6+
* struct TreeNode {
7+
* int val;
8+
* TreeNode *left;
9+
* TreeNode *right;
10+
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
11+
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
12+
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
13+
* };
14+
*/
15+
class Solution {
16+
private:
17+
int diameter;
18+
int maxDepth(TreeNode* root) {
19+
if(root==NULL) return 0;
20+
int left = maxDepth(root->left);
21+
int right = maxDepth(root->right);
22+
diameter = max(diameter, left + right);
23+
return 1 + max(left, right);
24+
}
25+
public:
26+
int diameterOfBinaryTree(TreeNode* root) {
27+
diameter = 0;
28+
maxDepth(root);
29+
return diameter;
30+
}
31+
};

0 commit comments

Comments
 (0)