美文网首页
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