对称的二叉树

题目描述

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

思路

树的问题通常可以用递归解决。
这道题其实就是从上到下比较左右节点,能顺利比到最后的叶子节点就返回正确,中间匹配到不相等的值就返回错误。

代码

class Solution:
    def isSymmetrical(self, pRoot):
        # write code here
        p1 = pRoot
        p2 = pRoot
        flag = self.isMirror(p1,p2)
        return flag
    def isMirror(self,p1,p2):
        if p1 == None and p2 == None:
            return True
        if p1 == None or p2 == None:
            return False
        if p1.val != p2.val:
            return False
        flag1 = self.isMirror(p1.left,p2.right)
        flag2 = self.isMirror(p1.right,p2.left)
        return flag1 and flag2
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对...
    凌霄文强阅读 3,122评论 0 2
  • 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对...
    囧略囧阅读 3,421评论 0 0
  • 本文首发于我的个人博客:尾尾部落 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同...
    繁著阅读 1,751评论 0 1
  • 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对...
    Gxxx_xx阅读 3,984评论 1 0
  • 题目:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的...
    Hammy阅读 1,855评论 0 0

友情链接更多精彩内容