美文网首页
2023-03-13 对称二叉树

2023-03-13 对称二叉树

作者: 远方的飞鱼 | 来源:发表于2023-03-13 09:31 被阅读0次

    class Solution:
    def isSymmetric(self, root: TreeNode) -> bool:
    if not root:
    return True
    return self.compare(root.left, root.right)

    def compare(self, left, right):
        #首先排除空节点的情况
        if left == None and right != None: return False
        elif left != None and right == None: return False
        elif left == None and right == None: return True
        #排除了空节点,再排除数值不相同的情况
        elif left.val != right.val: return False
        
        #此时就是:左右节点都不为空,且数值相同的情况
        #此时才做递归,做下一层的判断
        outside = self.compare(left.left, right.right) #左子树:左、 右子树:右
        inside = self.compare(left.right, right.left) #左子树:右、 右子树:左
        isSame = outside and inside #左子树:中、 右子树:中 (逻辑处理)
        return isSame

    相关文章

      网友评论

          本文标题:2023-03-13 对称二叉树

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