Facebook, Amazon Interview,  100ms Easy to understand, Very clean code, TC: O(N), SC: O(N)
\nclass Solution {\npublic:\n    bool isSymmetric(TreeNode* root) {\n        \n        if(root==NULL) return true; //To check if tree is empty or not\n        \
```\nclass Solution {\npublic:\n    bool isSymmetric(TreeNode* root) {\n        \n        if(root==NULL) return true; //To check if tree is empty or not\n        \n        return isSymmetricTest(root->left,root->right);\n    }\n    bool isSymmetricTest(TreeNode* p , TreeNode* q){\n        if(p == NULL && q == NULL) // left & right node are NULL \n            return true; \n        \n        else if(p == NULL || q == NULL) // one of them is Not NULL\n            return false; \n        \n        else if(p->val!=q->val) \n            return false;\n        \n        return isSymmetricTest(p->left,q->right) && isSymmetricTest(p->right,q->left);\n    }\n};\n```\n\n# If you understand this solution, then please please upvote!!!
['Depth-First Search', 'C', 'Binary Tree']