劍指offer 面試28題
阿新 • • 發佈:2018-06-19
實現一個函數 cor style 函數 遇到 樹的鏡像 none odin code
面試28題:
題目:對稱的二叉樹題:
請實現一個函數,用來判斷一顆二叉樹是不是對稱的。註意,如果一個二叉樹同此二叉樹的鏡像是同樣的,定義其為對稱的
解題思路:
可以定義一種遍歷算法,先遍歷右子節點再遍歷左子節點。註意,我們必須把遍歷二叉樹時遇到的空指針考慮進來。
解題代碼:
# -*- 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 not pRoot1 and not pRoot2: return True if not pRoot1 or not pRoot2: return False if pRoot1.val != pRoot2.val:return False return self.isSymmetricalCore(pRoot1.left,pRoot2.right) and self.isSymmetricalCore(pRoot1.right,pRoot2.left)
劍指offer 面試28題