对称的二叉树(important!)

题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

python solution:

# -*- coding:utf-8 -*-
class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None

class Solution:
    def isSymmetrical(self, pRoot):
        if not pRoot:
            return True
        return self.compare(pRoot.left,pRoot.right)

    def compare(self,p1,p2):
        if not p1 and not p2:
            return True
        if not p1 or not p2:
            return False
        if p1.val!=p2.val:
            return False
        return self.compare(p1.left,p2.right) and self.compare(p1.right,p2.left)
posted @ 2019-03-01 13:38  bernieloveslife  阅读(95)  评论(0编辑  收藏  举报