剑指offer_二叉树_对称的二叉树

二叉树_对称的二叉树

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

解题思路
就好像一串葡萄有左右两小串葡萄,把两小串葡萄拆下来对比葡萄大小。
参考答案

# -*- 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 not pRoot:
            return True
        return self.equal(pRoot.left, pRoot.right)
    def equal(self, left, right):
        if not left and not right:
            return True
        if not left or not right:
            return False
        if left.val !=right.val:
            return False
        else:
            return self.equal(left.left, right.right) and self.equal(left.right, right.left)           
发布了31 篇原创文章 · 获赞 0 · 访问量 716

猜你喜欢

转载自blog.csdn.net/freedomUSTB/article/details/105161436