对称的二叉树

Posted 王小东大将军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对称的二叉树相关的知识,希望对你有一定的参考价值。

题目描述

请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
 
/*
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;
        TreeNode * pRight=pRoot->right;
        TreeNode * pLeft=pRoot->left;
        if(pRight==NULL && pLeft==NULL)	return true;
        if(pRight==NULL || pLeft==NULL)	return false;
        return f(pRight,pLeft);
        
    }
    
    bool f(TreeNode * pLroot,TreeNode * pRroot) {
        if(pLroot==NULL && pRroot==NULL)	return true;
        if(pLroot==NULL || pRroot==NULL)	return false;
        if(pLroot->val!=pRroot->val)	return false;
        
        TreeNode * pL1=pLroot->left;
        TreeNode * pL2=pLroot->right;
        
        TreeNode * pR1=pRroot->left;
        TreeNode * pR2=pRroot->right;
    	
        return f(pL1,pR2)&&f(pL2,pR1);
    }

};

 

 

 

对称的二叉树(剑指offer+镜面对称+递归)

 

(剑指Offer)面试题59:对称的二叉树

 

 

 

以上是关于对称的二叉树的主要内容,如果未能解决你的问题,请参考以下文章

60.对称的二叉树

面试题28:对称的二叉树

剑指offer:对称的二叉树

剑指offer--28对称的二叉树

剑指offer-对称的二叉树

[剑指Offer]对称的二叉树