劍指offer 58. 對稱的二叉樹
阿新 • • 發佈:2018-11-26
題目描述
請實現一個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
思路:
二叉樹映象相同是對稱的,利用遞迴做。
參考答案:
# -*- 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.IsSymmetrical(pRoot, pRoot) def IsSymmetrical(self, pRoot1, pRoot2): if pRoot1 == None and pRoot2 == None: return True if pRoot1 == None or pRoot2 == None: return False if pRoot1.val != pRoot2.val: return False return self.IsSymmetrical(pRoot1.left, pRoot2.right) and self.IsSymmetrical(pRoot1.right, pRoot2.left)
Note
- 這個遞迴思路很清晰,比自己做的明白清晰很多。