美文网首页
34.对称的二叉树

34.对称的二叉树

作者: HamletSunS | 来源:发表于2019-08-06 11:55 被阅读0次

题目:
判断一棵二叉树是不是对称二叉树

思路:

  • 利用递归,先写一个子函数,判断一下两棵树是不是互为镜像,设计思路是当前节点值相等,树1的左子树与树2的右子树互为对称二叉树,且树1的右子树与树2的左子树互为对称二叉树
  • 判断一棵树的话就是判断它的两棵子树是不是互为镜像即可
class Solution {
public:
    bool isSymmetrical(TreeNode* root)
    {
        if(root==nullptr)
            return true;
        return isSym(root->left,root->right);
    }
    bool isSym(TreeNode* r1,TreeNode *r2){
        if(r1==nullptr && r2==nullptr)
            return true;
        if(!r1 || !r2)
            return false;
        if(r1->val==r2->val){
            return isSym(r1->left,r2->right)&&isSym(r1->right,r2->left);
        }
        return false;
    }

};  

相关文章

网友评论

      本文标题:34.对称的二叉树

      本文链接:https://www.haomeiwen.com/subject/zlsidctx.html