请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。
1 2 3 4 5
| 1 / \ 2 2 / \ / \ 3 4 4 3
|
但是下面这个 [1,2,2,null,3,null,3]
则不是镜像对称的:
解法
解法1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class Solution: def checkVal(self,A:TreeNode,B:TreeNode): if not A and B: return False elif A and not B: return False elif not A and not B: return True elif A.val != B.val: return False
return self.checkVal(A.left,B.right) and self.checkVal(A.right,B.left) def isSymmetric(self, root: TreeNode) -> bool: if not root: return True
return self.checkVal(root.left,root.right)
|