15算法课程 101. Symmetric Tree

来源:互联网 发布:淘宝店解封后有影响吗 编辑:程序博客网 时间:2024/06/05 14:09

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

For example, this binary tree [1,2,2,3,4,4,3] is symmetric:

    1   / \  2   2 / \ / \3  4 4  3

But the following [1,2,2,null,3,null,3] is not:

    1   / \  2   2   \   \   3    3

Note:

Bonus points if you could solve it both recursively and iteratively.


solution:递归


code:

class Solution {public:    bool isSymmetric(TreeNode* root) {        return helper(root,root);    }    bool helper(TreeNode* root1,TreeNode* root2){        if(root1==NULL && root2==NULL){            return true;        }        if(root1==NULL || root2==NULL){            return false;        }        if(root1->val!=root2->val){            return false;        }        return helper(root1->left,root2->right) & helper(root1->right,root2->left);    }};


原创粉丝点击