From cad5dd946cfef6428ab8ed3a3dc8a0f55e3afb90 Mon Sep 17 00:00:00 2001 From: Durgesh Date: Fri, 22 Oct 2021 22:02:24 +0530 Subject: [PATCH] solved 2 questions from leetcode 1. Path Sum 2. Symmetric Tree --- LeetCode/pathSum.cpp | 24 ++++++++++++++++++++++++ LeetCode/symmetricTree.cpp | 18 ++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 LeetCode/pathSum.cpp create mode 100644 LeetCode/symmetricTree.cpp diff --git a/LeetCode/pathSum.cpp b/LeetCode/pathSum.cpp new file mode 100644 index 0000000..64eac5a --- /dev/null +++ b/LeetCode/pathSum.cpp @@ -0,0 +1,24 @@ +// https://leetcode.com/problems/path-sum/ +#include +struct TreeNode { + int val; + TreeNode *left; + TreeNode *right; + TreeNode() : val(0), left(nullptr), right(nullptr) {} + TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} + TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} +}; + +using namespace std; + +bool hasPathSum(TreeNode* root, int targetSum) { + if(root==NULL)return false; + if(root->val==targetSum && root->left==NULL && root->right==NULL)return true; + return hasPathSum(root->left, targetSum-root->val) || hasPathSum(root->right, targetSum-root->val); + +} +int main() +{ + + return 0; +} \ No newline at end of file diff --git a/LeetCode/symmetricTree.cpp b/LeetCode/symmetricTree.cpp new file mode 100644 index 0000000..2bc67aa --- /dev/null +++ b/LeetCode/symmetricTree.cpp @@ -0,0 +1,18 @@ +// https://leetcode.com/problems/symmetric-tree/ +#include +#include "TreeNode2.h" +using namespace std; +bool helper(TreeNode *root1, TreeNode *root2){ + if(root1==NULL || root2==NULL)return root1==root2; + if(root1->val!=root2->val)return false; + else return helper(root1->left, root2->right) && helper(root1->right, root2->left); +} +bool isSymmetric(TreeNode* root) { + if(root==NULL)return true; + return helper(root->left, root->right); +} +int main() +{ + + return 0; +} \ No newline at end of file