剑指offer-28

剑指 Offer 28. 对称的二叉树

请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。

1
2
3
4
5
    1
/ \
2 2
/ \ / \
3 4 4 3

但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

1
2
3
4
5
  1
/ \
2 2
\ \
3 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)
作者

bd160jbgm

发布于

2021-06-10

更新于

2021-06-10

许可协议