请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
# -*- coding:utf-8 -*-
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def isSymmetricalSubFunc(self, pRoot1, pRoot2):
if pRoot1 == None and pRoot2 == None:
return True
if pRoot1 == None or pRoot2 == None:
return False
return pRoot1.val == pRoot2.val and self.isSymmetricalSubFunc(pRoot1.left, pRoot2.right) and self.isSymmetricalSubFunc(pRoot1.right, pRoot2.left)
def isSymmetrical(self, pRoot):
# write code here
if pRoot == None:
return True
return self.isSymmetricalSubFunc(pRoot.left, pRoot.right)