Skip to content

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

Notifications You must be signed in to change notification settings

WangAndrew2016/LeetCode---Symmetric-Tree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 

Repository files navigation

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);
    

    } };

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published