面试题59:对称的二叉树

来源:互联网 发布:剑网三捏脸数据正太 编辑:程序博客网 时间:2024/05/11 12:40

     题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

struct TreeNode {    int val;    struct TreeNode *left;    struct TreeNode *right;    TreeNode(int x) :            val(x), left(NULL), right(NULL) {    }};class Solution {public:    bool isSymmetrical(TreeNode* pRoot)    {        if(pRoot == NULL)            return true;        return isSymmetrical(pRoot->left,pRoot->right);            }    bool isSymmetrical(TreeNode *left, TreeNode *right)    {        if(left == NULL && right == NULL)            return true;                else if(left == NULL || right == NULL)            return false;                    if(left->val != right->val)            return false;        else             return isSymmetrical(left->left,right->right)                && isSymmetrical(left->right,right->left);           }};

0 0
原创粉丝点击