請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。
遞迴
# -*- coding:utf-8 -*-
# class treenode:
# def __init__(self, x):
# self.val = x
# self.left = none
# self.right = none
class
solution:
defsymmetrical
(self, root1, root2):
ifnot root1 and
not root2:
return
true
if root1 and
not root2 or root2 and
not root1:
return
false
if root1.val != root2.val:
return
false
return self.symmetrical(root1.left, root2.right) and self.symmetrical(root1.right, root2.left)
defissymmetrical
(self, proot):
# write code here
return self.symmetrical(proot, proot)
劍指Offer 二叉樹 對稱的二叉樹
含有兩道題,都從樹的遞迴入手 請完成乙個函式,輸入乙個二叉樹,該函式輸出它的映象。解題思路 映象翻 只需要遍歷二叉樹,每次訪問乙個結點時,交換其左右子樹。實現 definition for a binary tree node.class treenode def init self,x self....
劍指offer 對稱的二叉樹
請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。思路 複製一顆二叉樹,在該二叉樹的基礎上求得二叉樹的映象,同時遍歷兩顆二叉樹,判斷每乙個節點是否相同。public class solution private treenode copy ...
劍指offer 對稱的二叉樹
1 題目描述 請實現乙個函式,用來判斷一顆二叉樹是不是對稱的。注意,如果乙個二叉樹同此二叉樹的映象是同樣的,定義其為對稱的。2 思路 樹a的左節點等於樹b的右結點,樹a的右結點等於樹b的左節點。剛開始根節點便是樹a和樹b的根節點,樹a的根節點是根節點的左節點,樹b的根節點是根節點的右節點,後來,樹a...