给定一个二叉树,检查它是否是它自己的镜像(即,围绕它的中心对称)。
例如,这个二叉树 [1,2,2,3,4,4,3]
是对称的。
1 / \ 2 2 / \ / \ 3 4 4 3
但是下面这个 [1,2,2,null,3,null,3]
则不是:
1 / \ 2 2 \ \ 3 3
解题思路:
构建一个辅助函数,来帮忙判断两个二叉树是否为镜像,并将这个函数一直迭代下去。
解题代码:
def func(node,mirror):
if not node and not mirror:
return True
elif node and mirror and node.val==mirror.val:
return func(node.left,mirror.right) and func(node.right,mirror.left)
return False
return func(root,root)