1. 思路
二叉树对称问题可以转换为根节点的左右子树是否是镜像问题,我们将根节点的左右子树看成两棵树A,B。如果两棵树是镜像的话
那么A的左子树和B的右子树应该是镜像;A的右子树和B的左子树是镜像的
采用递归解决
2.代码
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def isSymmetrical(self, pRoot):
# write code here
def isMirror(A,B):
if A is None and B is None:return True
if A is None or B is None:return False
if A.val != B.val:return False
return isMirror(A.left, B.right) and isMirror(A.right, B.left)
if pRoot is None:return True
return isMirror(pRoot.left, pRoot.right)