在计算对称性时,采用递归遍历两个子树,并比较它们的值来判断是否对称。示例代码如下:
class Solution: def isSymmetric(self, root: Optional[TreeNode]) -> bool: if not root: return True return self.isSymmetricHelper(root.left, root.right)
def isSymmetricHelper(self, l: Optional[TreeNode], r: Optional[TreeNode]) -> bool:
if not l and not r:
return True
if not l or not r:
return False
if l.val != r.val:
return False
return self.isSymmetricHelper(l.left, r.right) and self.isSymmetricHelper(l.right, r.left)