python劍指offer系列對稱的二叉樹
阿新 • • 發佈:2019-01-07
題目:
請實現一個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
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