本文主要是介绍剑指offer58.对称的二叉树,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
注意镜像的定义:
# -*- 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 Truereturn self.symmetrical(pRoot.left, pRoot.right)def symmetrical(self, a, b):if not a:return not breturn b and a.val == b.val and \self.symmetrical(a.left, b.right) and self.symmetrical(a.right, b.left)
这篇关于剑指offer58.对称的二叉树的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!