python剑指offer系列对称的二叉树
2018-03-02 10:54
323 查看
题目:
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
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
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
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
相关文章推荐
- python剑指offer系列按之字形顺序打印二叉树
- python剑指offer系列二叉树中和为某一值的路径
- python剑指offer系列把二叉树打印成多行
- python实现剑指offer系列:重建二叉树
- python剑指offer系列层序遍历二叉树
- 剑指offer系列之五十六:对称二叉树的判断
- python剑指offer系列二叉树的下一个节点
- 剑指offer系列之57:对称二叉树的判断
- python剑指offer系列通过求二叉树的深度来理解递归
- 剑指Offer系列---(8)重建二叉树
- 【剑指offer系列】 二叉树中和为某一值的路径___25
- 面试题19_二叉树的镜像——剑指offer系列
- (剑指Offer)面试题59:对称的二叉树
- 剑指offer系列之21:从上往下打印二叉树
- 《剑指offer》-判断对称二叉树
- 剑指offer系列源码-重建二叉树
- 【剑指offer系列】 二叉树的镜像___19
- 剑指offer:对称的二叉树
- 剑指Offer系列-面试题25:二叉树中和为某一值的路径
- 剑指offer(61):对称的二叉树