(leetcode刷题)
对称二叉树
题目: 给定一个二叉树,检查它是否是镜像对称的。
示例:
方法
- 关键思路是二叉树的对称如何判断:可以发现,拥有相同值的节点的左子树的值=对应节点右子树的值,该节点的右子树的值=对应节点左子树的值。
- 然后对每个子树进行递归
class Solution:
def isSymmetric(self, root: TreeNode) -> bool:
if not root:
return True
else:
return self.leqr(root.left, root.right)
def leqr(self, left, right):
if not left and not right: return True
if not left or not right: return False
if left.val == right.val:
return self.leqr(left.left, right.right) and self.leqr(left.right, right.left)
else:
return False