{"id":"f609351a-1470-47c7-95ee-cc7cc474b876","name":"Path Sum In Binary Tree","description":"1. You are given a partially written function to solve.\r\n2. You are required to complete the body of hasPathSum function. The function is expected to return boolean value depending upon root-to-leaf paths where path sum equals targetSum.\r\n3. Input and Output is managed for you.\r\n","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\nbool hasPathSum(TreeNode* root, int sum)\r\n{\r\n return false;\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 {\r\n IDX[0]++;\r\n return nullptr;\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 int tar;\r\n cin >> tar;\r\n vector<int> IDX(1, 0);\r\n TreeNode* root = createTree(arr, IDX);\r\n cout << (boolalpha) << hasPathSum(root, tar) << endl;\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 boolean hasPathSum(TreeNode root, int targetSum) {\r\n return false;\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 int tar = scn.nextInt();\r\n int[] IDX = new int[1];\r\n TreeNode root = createTree(arr, IDX);\r\n System.out.println(hasPathSum(root, tar));\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":"7\r\n1\r\n2\r\n-1\r\n-1\r\n3\r\n-1\r\n-1\r\n4","sampleOutput":"true\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":"60498bdf-bd48-4008-af72-22f265200f70","name":"Path Sum In Binary Tree","slug":"path-sum-in-binary-tree","type":1}],"next":{"id":"629e2d7f-448c-431d-b0b2-12ea96907650","name":"path sum in binary tree","type":3,"slug":"path-sum-in-binary-tree"},"prev":{"id":"ed34b962-475c-474a-b81a-112313edf1e0","name":"Convert Binary Search Tree To Doubly LinkedList","type":3,"slug":"convert-binary-search-tree-to-doubly-linkedlist"}}}

Path Sum In Binary Tree

1. You are given a partially written function to solve. 2. You are required to complete the body of hasPathSum function. The function is expected to return boolean value depending upon root-to-leaf paths where path sum equals targetSum. 3. Input and Output is managed for you.

{"id":"f609351a-1470-47c7-95ee-cc7cc474b876","name":"Path Sum In Binary Tree","description":"1. You are given a partially written function to solve.\r\n2. You are required to complete the body of hasPathSum function. The function is expected to return boolean value depending upon root-to-leaf paths where path sum equals targetSum.\r\n3. Input and Output is managed for you.\r\n","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\nbool hasPathSum(TreeNode* root, int sum)\r\n{\r\n return false;\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 {\r\n IDX[0]++;\r\n return nullptr;\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 int tar;\r\n cin >> tar;\r\n vector<int> IDX(1, 0);\r\n TreeNode* root = createTree(arr, IDX);\r\n cout << (boolalpha) << hasPathSum(root, tar) << endl;\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 boolean hasPathSum(TreeNode root, int targetSum) {\r\n return false;\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 int tar = scn.nextInt();\r\n int[] IDX = new int[1];\r\n TreeNode root = createTree(arr, IDX);\r\n System.out.println(hasPathSum(root, tar));\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":"7\r\n1\r\n2\r\n-1\r\n-1\r\n3\r\n-1\r\n-1\r\n4","sampleOutput":"true\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":"60498bdf-bd48-4008-af72-22f265200f70","name":"Path Sum In Binary Tree","slug":"path-sum-in-binary-tree","type":1}],"next":{"id":"629e2d7f-448c-431d-b0b2-12ea96907650","name":"path sum in binary tree","type":3,"slug":"path-sum-in-binary-tree"},"prev":{"id":"ed34b962-475c-474a-b81a-112313edf1e0","name":"Convert Binary Search Tree To Doubly LinkedList","type":3,"slug":"convert-binary-search-tree-to-doubly-linkedlist"}}}
plane

Editor


Loading...

Path Sum In Binary Tree

easy

1. You are given a partially written function to solve. 2. You are required to complete the body of hasPathSum function. The function is expected to return boolean value depending upon root-to-leaf paths where path sum equals targetSum. 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

7 1 2 -1 -1 3 -1 -1 4

Sample Output

true

Discussions

Show Discussion

Related Resources

related resources

Turning Off Zen Mode