Advertisement
yash123321

Untitled

Oct 10th, 2021
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.73 KB | None | 0 0
  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.  */
  12. int ans;
  13. int dfs(TreeNode* root)
  14. {
  15.     int l=0,r=0;
  16.     if(root->left!=NULL)
  17.         l = dfs(root->left);
  18.     if(root->right!=NULL)
  19.         r = dfs(root->right);
  20.     ans = max(ans,l+r+1);
  21.     return max(l,r)+1;
  22.        
  23. }
  24. class Solution {
  25. public:
  26.     int diameterOfBinaryTree(TreeNode* root) {
  27.         ans=0;
  28.         dfs(root);
  29.         return ans-1;
  30.     }
  31. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement