請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
遞迴,判斷左子樹和又子樹是不是一樣
class solution:
def issymmetrical(self, proot):
# write code here
return self.issame(proot, proot)
def issame(self, p1, p2):
if not p1 and not p2:
return true
if not p1 or not p2:
return false
if p1.val != p2.val:
return false
return self.issame(p1.right, p2.left) and self.issame(p1.left, p2.right)
層次遍歷,每次比較當前層是不是回文結構
注意要新增none
class solution:
def issymmetrical(self, proot):
# write code here
if not proot:
return true
s1 = [proot]
s2 =
while s1:
cur =
for node in s1:
if node:
else:
if cur != cur[::-1]:
return false
s1 = s2
s2 =
return true
58 劍指offer 對稱的二叉樹
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。思路 首先根節點以及其左右子樹,左子樹的左子樹和右子樹的右子樹相同 左子樹的右子樹和右子樹的左子樹相同即可,採用遞迴 非遞迴也可,採用棧或佇列訪問各級子樹根節點 boolean issymm...
58 劍指offer 對稱的二叉樹
題目描述 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。解題思路 定義一種遍歷方式,先遍歷父結點,然後遍歷右結點,然後遍歷左結點 如果為對稱二叉樹,則與前序遍歷相同。注意點 對於乙個結點如果其沒有子結點,應該將其子結點位置特殊處理,例如...
劍指Offer 程式設計題58 對稱的二叉樹
題目 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。牛客網 鏈結 二叉樹的映象和對稱二叉樹的區別 源二叉樹 8 6 10 5 7 9 11 映象二叉樹 8 10 6 11 9 7 5 對稱二叉樹 8 10 10 11 9 9 11 co...