对称的二叉树

题目描述

请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
    bool _isSymmetrical(TreeNode* leftChild,TreeNode *rightChild)
      {
        if(leftChild == NULL && rightChild == NULL)
            return true;
        
        else if((leftChild != NULL && rightChild == NULL) || (leftChild == NULL && rightChild !=NULL ) )
            return false;
        
        else {
            if(_isSymmetrical(leftChild->left,rightChild->right) 
              &&_isSymmetrical(leftChild->right,rightChild->left)
              &&leftChild->val == rightChild->val)
                return true;
               else return false;
        }
    }
    
    bool isSymmetrical(TreeNode* pRoot)
    {
        if(!pRoot)
            return true;
         
        return _isSymmetrical(pRoot->left,pRoot->right);
    }

 

posted on 2017-02-28 08:08  123_123  阅读(126)  评论(0编辑  收藏  举报