Skip to content

Latest commit

 

History

History
49 lines (39 loc) · 1.02 KB

README.md

File metadata and controls

49 lines (39 loc) · 1.02 KB

LeetCode---Symmetric-Tree

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

For example, this binary tree is symmetric:

1

/
2 2 / \ /
3 4 4 3 But the following is not: 1 /
2 2 \
3 3

/**

  • Definition for a binary tree node.

  • struct TreeNode {

  • int val;
    
  • TreeNode *left;
    
  • TreeNode *right;
    
  • TreeNode(int x) : val(x), left(NULL), right(NULL) {}
    
  • }; / class Solution { public: bool isSymmetric(TreeNode root) {

     if(root == NULL)
         return true;
     
     return checkSymmetric(root->left, root->right);
    

    }

    bool checkSymmetric(TreeNode* left, TreeNode* right) { if(left == NULL && right == NULL) return true; if(left == NULL || right == NULL) return false;

     return (left->val == right->val) && checkSymmetric(left->left, right->right) && checkSymmetric(right->left, left->right);
    

    } };