题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
时间限制:1秒;空间限制:32768K
解题思路
递归思路
# -*- 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
if pRoot == None:
return True
return self.isBalance(pRoot.left, pRoot.right)
def isBalance(self, left, right):
if (left==None)and(right==None):
return True
if ((left==None)and(right!=None))or((left!=None)and(right==None)):
return False
if left.val != right.val:
return False
return self.isBalance(left.right,right.left) and self.isBalance(left.left,right.right)