leetcode 101. 对称二叉树

class Solution(object):

    def isSymmetric(self, root):

        self.tag_node = True

        if  root.left == None and root.right == None:

            return True

        elif root.left == None or root.right == None:

            return False

        else:

            return self.compareTreeNode(root.left, root.right)

    def compareTreeNode(self, tree1, tree2):

        if (tree1 != None and tree2 == None) or (tree1 == None and tree2 != None) or (tree1.val != tree2.val):

            self.tag_node = False

        if tree1.left != None and tree2.right != None:

            self.compareTreeNode(tree1.left, tree2.right)

        elif tree1.left != None  or  tree2.right != None :

            self.tag_node = False


        if tree1.right != None and tree2.left != None:

            self.compareTreeNode(tree1.right, tree2.left)

        elif tree1.right != None  or tree2.left != None:

            self.tag_node = False

        return self.tag_node

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容