美文网首页剑指offer- python实现
面试题28: 对称的二叉树

面试题28: 对称的二叉树

作者: 不会编程的程序猿甲 | 来源:发表于2020-03-15 00:08 被阅读0次

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

解题思路:
这道题可以建立在面试题27的基础上,需要判断一个树和其镜像是否相同,如果相同即为对称,可以一个先序遍历一个中右左顺序遍历,然后判断这两个节点是否相同,具体如下:

28 对称的二叉树.png

代码实现:

# -*- 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
        return self.IsSymmetricalCore(pRoot,pRoot)
    def IsSymmetricalCore(self, pRoot1, pRoot2):
        if pRoot1==None and pRoot2 ==None:
            return True
        if pRoot1 ==None or pRoot2 ==None:
            return False
        if pRoot1.val != pRoot2.val:
            return False
        else:
            return self.IsSymmetricalCore(pRoot1.left,pRoot2.right) and self.IsSymmetricalCore(pRoot1.right,pRoot2.left)

提交结果:

相关文章

  • 剑指offer第二版-28.对称的二叉树

    本系列导航:剑指offer(第二版)java实现导航帖 面试题28:对称的二叉树 题目要求:判断一棵二叉树是不是对...

  • Java日记2018-06-22

    二叉树的镜像 28 对称的二叉树 栈的压入、弹出序列

  • 剑指 Offer 28. 对称的二叉树、剑指 Offer 26.

    剑指 Offer 28. 对称的二叉树[https://leetcode-cn.com/problems/dui-...

  • 面试题28:对称二叉树

    判断一颗二叉树是不是对称二叉树 思路:该题的思路为与上一题相似,递归判断左右子树。

  • 面试题28:对称的二叉树

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

  • 面试题28:对称的二叉树

    题目:请实现一个函数,用来判断一个二叉树是不是对称的。如果一颗二叉树和它的镜像一样,那么它是对称的。思路:用前序遍...

  • 面试题28:对称的二叉树

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

  • 面试题28: 对称的二叉树

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

  • 【LeetCode】101-对称二叉树

    对称二叉树 题目 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的...

  • 面试题28. 对称的二叉树

    题目 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树...

网友评论

    本文标题:面试题28: 对称的二叉树

    本文链接:https://www.haomeiwen.com/subject/kkrashtx.html