题目:给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [1,2,2,3,4,4,3] 是对称的。
代码:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def isSameTree(self, p: TreeNode, q: TreeNode):
if p is None and q is None:
return True
elif p!=None and q!=None and p.val==q.val:
return self.isSameTree(p.left,q.right) and self.isSameTree(p.right,q.left)
else:
return False
def isSymmetric(self, root: TreeNode) -> bool:
return self.isSameTree(root,root)
总结:和上一题有相关性,抽出其中一个子例,进行迭代。