Symmetric Tree-LeetCode

来源:互联网 发布:陈冠希道歉 知乎 编辑:程序博客网 时间:2024/06/14 00:53

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

 

 

 

struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode(int x) : val(x), left(NULL), right(NULL) {}};bool issame(TreeNode *root1, TreeNode *root2){if (root1 == NULL && root2 == NULL){return true;}if (root1 == NULL || root2 == NULL || root1->val != root2->val){return false;}return issame(root1->left, root2->right)&&issame(root1->right, root2->left);}bool isSymmetric(TreeNode *root) {if (root == NULL)return true;return issame(root->left, root->right);}


 

0 0