`{"id":"8d433c1b-9958-4baa-b19d-3da3afc17031","name":"Diameter Of Binary Tree All Methods","description":"1. You are given a partially written function to solve.\r\n2. You are required to complete the body of diameterOfBinaryTree function. The function is expected to return diameter of binary tree.\r\n3. Input and Output is managed for you.","inputFormat":"Input is managed for you.","outputFormat":"Output is managed for you. ","constraints":"0 &lt;= Number of Nodes &lt;= 10^9\r\n-10^9 &lt;= value of Node data &lt;= 10^9","sampleCode":{"cpp":{"code":"#include <iostream>\r\n#include <vector>\r\nusing namespace std;\r\n\r\nclass TreeNode\r\n{\r\npublic:\r\n int val = 0;\r\n TreeNode* left = nullptr;\r\n TreeNode* right = nullptr;\r\n\r\n TreeNode(int val)\r\n {\r\n this->val = val;\r\n }\r\n};\r\n\r\nint diameterOfBinaryTree(TreeNode* root)\r\n{\r\n return -1;\r\n}\r\n\r\n// input_Section=================================================\r\n\r\nTreeNode* createTree(vector<int>& arr, vector<int>& IDX)\r\n{\r\n if (IDX[0] > arr.size() || arr[IDX[0]] == -1) {\r\n IDX[0]++;\r\n return nullptr;\r\n }\r\n\r\n TreeNode* node = new TreeNode(arr[IDX[0]++]);\r\n node->left = createTree(arr, IDX);\r\n node->right = createTree(arr, IDX);\r\n\r\n return node;\r\n}\r\n\r\nvoid solve()\r\n{\r\n int n;\r\n cin >> n;\r\n vector<int> arr(n, 0);\r\n for (int i = 0; i < n; i++)\r\n {\r\n cin >> arr[i];\r\n }\r\n\r\n vector<int> IDX(1, 0);\r\n TreeNode* root = createTree(arr, IDX);\r\n}\r\n\r\nint main()\r\n{\r\n solve();\r\n return 0;\r\n}"},"java":{"code":"import java.util.Scanner;\r\n\r\npublic class Main {\r\n public static Scanner scn = new Scanner(System.in);\r\n\r\n public static class TreeNode {\r\n int val = 0;\r\n TreeNode left = null;\r\n TreeNode right = null;\r\n\r\n TreeNode(int val) {\r\n this.val = val;\r\n }\r\n }\r\n\r\n public static int diameterOfBinaryTree(TreeNode root) {\r\n return -1;\r\n }\r\n\r\n // input_Section=================================================\r\n\r\n public static TreeNode createTree(int[] arr, int[] IDX) {\r\n if (IDX[0] > arr.length || arr[IDX[0]] == -1) {\r\n IDX[0]++;\r\n return null;\r\n }\r\n\r\n TreeNode node = new TreeNode(arr[IDX[0]++]);\r\n node.left = createTree(arr, IDX);\r\n node.right = createTree(arr, IDX);\r\n\r\n return node;\r\n }\r\n\r\n public static void solve() {\r\n int n = scn.nextInt();\r\n int[] arr = new int[n];\r\n for (int i = 0; i < n; i++)\r\n arr[i] = scn.nextInt();\r\n\r\n int[] IDX = new int[1];\r\n TreeNode root = createTree(arr, IDX);\r\n System.out.println(diameterOfBinaryTree(root));\r\n }\r\n\r\n public static void main(String[] args) {\r\n solve();\r\n }\r\n}"},"python":{"code":""}},"points":10,"difficulty":"easy","sampleInput":"11\r\n1\r\n2\r\n4\r\n-1\r\n-1\r\n5\r\n-1\r\n-1\r\n3\r\n-1\r\n-1\r\n","sampleOutput":"3\r\n","questionVideo":"","hints":[],"associated":[],"solutionSeen":false,"tags":[],"meta":{"path":[{"id":0,"name":"home"},{"id":"0c54b191-7b99-4f2c-acb3-e7f2ec748b2a","name":"Data Structures and Algorithms","slug":"data-structures-and-algorithms","type":0},{"id":"2e9df04c-be14-441c-9a18-8b5a8ca6596d","name":"Trees For Intermediate","slug":"trees-for-intermediate-9994","type":0},{"id":"81134f75-c972-4265-8395-4a220b8abbe4","name":"Diameter Of Binary Tree All Methods MCQ","slug":"diameter-of-binary-tree-all-methods-mcq","type":0},{"id":"ad58e220-bb0a-4ab7-bfad-f0436705f343","name":"Diameter Of Binary Tree All Methods","slug":"diameter-of-binary-tree-all-methods","type":1}],"next":null,"prev":null}}`

# Diameter Of Binary Tree All Methods

1. You are given a partially written function to solve. 2. You are required to complete the body of diameterOfBinaryTree function. The function is expected to return diameter of binary tree. 3. Input and Output is managed for you.

`{"id":"8d433c1b-9958-4baa-b19d-3da3afc17031","name":"Diameter Of Binary Tree All Methods","description":"1. You are given a partially written function to solve.\r\n2. You are required to complete the body of diameterOfBinaryTree function. The function is expected to return diameter of binary tree.\r\n3. Input and Output is managed for you.","inputFormat":"Input is managed for you.","outputFormat":"Output is managed for you. ","constraints":"0 &lt;= Number of Nodes &lt;= 10^9\r\n-10^9 &lt;= value of Node data &lt;= 10^9","sampleCode":{"cpp":{"code":"#include <iostream>\r\n#include <vector>\r\nusing namespace std;\r\n\r\nclass TreeNode\r\n{\r\npublic:\r\n int val = 0;\r\n TreeNode* left = nullptr;\r\n TreeNode* right = nullptr;\r\n\r\n TreeNode(int val)\r\n {\r\n this->val = val;\r\n }\r\n};\r\n\r\nint diameterOfBinaryTree(TreeNode* root)\r\n{\r\n return -1;\r\n}\r\n\r\n// input_Section=================================================\r\n\r\nTreeNode* createTree(vector<int>& arr, vector<int>& IDX)\r\n{\r\n if (IDX[0] > arr.size() || arr[IDX[0]] == -1) {\r\n IDX[0]++;\r\n return nullptr;\r\n }\r\n\r\n TreeNode* node = new TreeNode(arr[IDX[0]++]);\r\n node->left = createTree(arr, IDX);\r\n node->right = createTree(arr, IDX);\r\n\r\n return node;\r\n}\r\n\r\nvoid solve()\r\n{\r\n int n;\r\n cin >> n;\r\n vector<int> arr(n, 0);\r\n for (int i = 0; i < n; i++)\r\n {\r\n cin >> arr[i];\r\n }\r\n\r\n vector<int> IDX(1, 0);\r\n TreeNode* root = createTree(arr, IDX);\r\n}\r\n\r\nint main()\r\n{\r\n solve();\r\n return 0;\r\n}"},"java":{"code":"import java.util.Scanner;\r\n\r\npublic class Main {\r\n public static Scanner scn = new Scanner(System.in);\r\n\r\n public static class TreeNode {\r\n int val = 0;\r\n TreeNode left = null;\r\n TreeNode right = null;\r\n\r\n TreeNode(int val) {\r\n this.val = val;\r\n }\r\n }\r\n\r\n public static int diameterOfBinaryTree(TreeNode root) {\r\n return -1;\r\n }\r\n\r\n // input_Section=================================================\r\n\r\n public static TreeNode createTree(int[] arr, int[] IDX) {\r\n if (IDX[0] > arr.length || arr[IDX[0]] == -1) {\r\n IDX[0]++;\r\n return null;\r\n }\r\n\r\n TreeNode node = new TreeNode(arr[IDX[0]++]);\r\n node.left = createTree(arr, IDX);\r\n node.right = createTree(arr, IDX);\r\n\r\n return node;\r\n }\r\n\r\n public static void solve() {\r\n int n = scn.nextInt();\r\n int[] arr = new int[n];\r\n for (int i = 0; i < n; i++)\r\n arr[i] = scn.nextInt();\r\n\r\n int[] IDX = new int[1];\r\n TreeNode root = createTree(arr, IDX);\r\n System.out.println(diameterOfBinaryTree(root));\r\n }\r\n\r\n public static void main(String[] args) {\r\n solve();\r\n }\r\n}"},"python":{"code":""}},"points":10,"difficulty":"easy","sampleInput":"11\r\n1\r\n2\r\n4\r\n-1\r\n-1\r\n5\r\n-1\r\n-1\r\n3\r\n-1\r\n-1\r\n","sampleOutput":"3\r\n","questionVideo":"","hints":[],"associated":[],"solutionSeen":false,"tags":[],"meta":{"path":[{"id":0,"name":"home"},{"id":"0c54b191-7b99-4f2c-acb3-e7f2ec748b2a","name":"Data Structures and Algorithms","slug":"data-structures-and-algorithms","type":0},{"id":"2e9df04c-be14-441c-9a18-8b5a8ca6596d","name":"Trees For Intermediate","slug":"trees-for-intermediate-9994","type":0},{"id":"81134f75-c972-4265-8395-4a220b8abbe4","name":"Diameter Of Binary Tree All Methods MCQ","slug":"diameter-of-binary-tree-all-methods-mcq","type":0},{"id":"ad58e220-bb0a-4ab7-bfad-f0436705f343","name":"Diameter Of Binary Tree All Methods","slug":"diameter-of-binary-tree-all-methods","type":1}],"next":null,"prev":null}}`

Editor

# Diameter Of Binary Tree All Methods

easy

1. You are given a partially written function to solve. 2. You are required to complete the body of diameterOfBinaryTree function. The function is expected to return diameter of binary tree. 3. Input and Output is managed for you.

## Constraints

0 <= Number of Nodes <= 10^9 -10^9 <= value of Node data <= 10^9

## Format

### Input

Input is managed for you.

### Output

Output is managed for you.

## Example

Sample Input

```.css-23h8hz{color:inherit;font-size:0.875rem;line-height:1.125rem;letter-spacing:0.016rem;font-weight:var(--chakra-fontWeights-normal);white-space:pre-wrap;}11 1 2 4 -1 -1 5 -1 -1 3 -1 -1 ```

### Sample Output

```.css-3oaykw{color:var(--chakra-colors-active-primary);font-size:0.875rem;line-height:1.125rem;letter-spacing:0.016rem;font-weight:var(--chakra-fontWeights-normal);white-space:pre-wrap;font-family:Monospace;}3 ```

Discussions

Show Discussion

Related Resources