zoukankan      html  css  js  c++  java
  • 判断二叉树是否对称

    class Solution {
    public:
        /*
        对于一颗二叉树,从根节点开始遍历
        如果左右节点有一个为NULL,那么肯定不是对称二叉树
        如果左右子节点均不为空,但不相等,那么肯定不是对称二叉树
        如果左右子节点均不为空且相等,那么:
            遍历左子树,遍历顺序为,当前节点,左子树,右子树
            遍历右子树,遍历顺序为,当前节点,右子树,左子树
        如果遍历左子树的序列和遍历右子树的序列一样,则称该二叉树为对称二叉树
    
        */
        bool isSymmetrical(TreeNode* pRoot)
        {
            if(pRoot==NULL)
                return true;
            return isMirror(pRoot->left,pRoot->right);
        }
    
        bool isMirror(TreeNode *pLeft,TreeNode *pRight){
            if(pLeft==NULL&&pRight==NULL)
                return true;
            if(pLeft==NULL||pRight==NULL)
                return false;
            if(pLeft->val!=pRight->val)
                return false;
            return isMirror(pLeft->left,pRight->right)&&isMirror(pLeft->right,pRight->left);
        }
    
    };
    class Solution {
    public:
        /*
        对于一颗二叉树,从根节点开始遍历
        如果左右节点有一个为NULL,那么肯定不是对称二叉树
        如果左右子节点均不为空,但不相等,那么肯定不是对称二叉树
        如果左右子节点均不为空且相等,那么:
            遍历左子树,遍历顺序为,当前节点,左子树,右子树
            遍历右子树,遍历顺序为,当前节点,右子树,左子树
        如果遍历左子树的序列和遍历右子树的序列一样,则称该二叉树为对称二叉树
    
        */
        bool isSymmetrical(TreeNode* pRoot)
        {
            if(pRoot==NULL)
                return true;
            return isMirror(pRoot->left,pRoot->right);
        }
    
        bool isMirror(TreeNode *pLeft,TreeNode *pRight){
            if(pLeft==NULL&&pRight==NULL)
                return true;
            if(pLeft==NULL||pRight==NULL)
                return false;
            if(pLeft->val!=pRight->val)
                return false;
            return isMirror(pLeft->left,pRight->right)&&isMirror(pLeft->right,pRight->left);
        }
    
    };
    
  • 相关阅读:
    Anaconda和Miniconda的安装
    并联谐振电路频率阻抗及计算曲线带宽案例摘要
    TEM波
    Android Studio实现简单考试应用程序
    android studio实现简单考试应用程序
    Android Studio的简易计算器界面设计
    时谐变换
    简要理解什么是趋肤效应
    c盘清理
    如何把Visual Studio完全安装在其他磁盘
  • 原文地址:https://www.cnblogs.com/bananaa/p/7541814.html
Copyright © 2011-2022 走看看