From 5765d62afe8914cb9626b0e85b182491497d129f Mon Sep 17 00:00:00 2001 From: Shubham Daulkar Date: Tue, 24 Oct 2023 11:55:46 +0530 Subject: [PATCH] added solution for symmetric_tree in C++ --- C++/symmetric_Tree.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 C++/symmetric_Tree.cpp diff --git a/C++/symmetric_Tree.cpp b/C++/symmetric_Tree.cpp new file mode 100644 index 0000000..26d3b17 --- /dev/null +++ b/C++/symmetric_Tree.cpp @@ -0,0 +1,22 @@ +/** + * Definition for a binary tree node. + * 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) {} + * }; + */ +class Solution { +public: + bool solve(TreeNode* left, TreeNode* right){ + if(!left && !right) return true; + if(!left || !right) return false; + return (left->val == right->val && solve(left->left, right->right) && solve(left->right, right->left)); + } + bool isSymmetric(TreeNode* root) { + return solve(root->left, root->right); + } +}; \ No newline at end of file