題目描述
請實現(xiàn)一個函數(shù),用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的鏡像是同樣的,定義其為對稱的。
思路
樹的問題通??梢杂眠f歸解決。
這道題其實就是從上到下比較左右節(jié)點,能順利比到最后的葉子節(jié)點就返回正確,中間匹配到不相等的值就返回錯誤。
代碼
class Solution:
def isSymmetrical(self, pRoot):
# write code here
p1 = pRoot
p2 = pRoot
flag = self.isMirror(p1,p2)
return flag
def isMirror(self,p1,p2):
if p1 == None and p2 == None:
return True
if p1 == None or p2 == None:
return False
if p1.val != p2.val:
return False
flag1 = self.isMirror(p1.left,p2.right)
flag2 = self.isMirror(p1.right,p2.left)
return flag1 and flag2