Leetcode Day11 1
劍指 Offer 28. 對(duì)稱的二叉樹
請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),用來(lái)判斷一棵二叉樹是不是對(duì)稱的。如果一棵二叉樹和它的鏡像一樣,那么它是對(duì)稱的。
例如,二叉樹 [1,2,2,3,4,4,3] 是對(duì)稱的。
? ? 1
? ?/ \
? 2? ?2
?/ \ / \
3? 4 4? 3
但是下面這個(gè) [1,2,2,null,3,null,3] 則不是鏡像對(duì)稱的:
? ? 1
? ?/ \
? 2? ?2
? ?\? ?\
? ?3? ? 3
也是遞歸不是很難,但是我一開始思路錯(cuò)了,先對(duì)稱然后比較是否為一棵樹,就復(fù)雜了
#?Definition?for?a?binary?tree?node.
#?class?TreeNode:
#?????def?__init__(self,?x):
#?????????self.val?=?x
#?????????self.left?=?None
#?????????self.right?=?None
class?Solution:
????def?isSymmetric(self,?root:?TreeNode)?->?bool:
????????def?judge(l:TreeNode,r:TreeNode):
????????????if?l==None?and?r==None:return?True
????????????if?l==None?or?r==None?or?l.val!=r.val:return?False
????????????return?judge(l.left,?r.right)?and?judge(l.right,r.left)
????????if?root==None:return?True
????????else:
????????????return?judge(root.left,root.right)
