题目:
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
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.isSame(pRoot.left,pRoot.right)
def isSame(self,pRoot1,pRoot2):
if pRoot1 == None:
return pRoot2 == None
elif pRoot2 == None:
return False
elif pRoot1.val != pRoot2.val:
return False
return self.isSame(pRoot1.left,pRoot2.right) and self.isSame(pRoot1.right,pRoot2.left)
# write code here
本文介绍了一个用于判断二叉树是否对称的函数实现方法。通过对二叉树进行递归比较,验证其与镜像是否一致来确定对称性。

被折叠的 条评论
为什么被折叠?



