leetcode 101 對稱二叉樹

2021-10-08 01:48:44 字數 1251 閱讀 3010

101. 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。

例子:二叉樹 [1,2,2,3,4,4,3] 是對稱的。

1/  \

2   2

/ \   / \

3 4 4 3

使用遞迴的思路解決,比較二叉樹的對稱性,首先就是比較根節點的左孩子和右孩子是否相等,接著如果將左孩子稱為left,右孩子稱為right,就是要比較left.left和right.right是否相等以及left.right和right.left是否相等,接著進行同樣的操作,將跟節點的左右子樹的對稱點分別稱為left和right,那麼我們依然在比較left.left和right.right是否相等以及left.right和right.left是否相等,這樣就形成了乙個遞迴比較。而遞迴終止的條件是,比較的兩個節點都為空,或者乙個為空乙個不為空,或者兩個節點的值不相等,否則會繼續比較下去。

# definition for a binary tree node.

# class treenode(object):

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class

solution

(object):

defissymmetric

(self, root)

:"""

:type root: treenode

:rtype: bool

"""ifnot root:

return

true

defdfs

(left, right):if

not left and

not right:

return

trueif(

not left)or(

not right)

:return

false

if left.val != right.val:

return

false

return dfs(left.left, right.right)

and dfs(left.right, right.left)

return dfs(root.left, root.right)

LeetCode 101 對稱二叉樹

給定乙個二叉樹,檢查它是否是它自己的映象 即,圍繞它的中心對稱 例如,這個二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是 1 2 2 3 3 說明 如果你可以遞迴地和迭代地解決它就獎勵你點數。建立乙個映象的樹,然...

LeetCode(101) 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。這道題也是劍指offer上的2...

leetcode 101 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3思路 如果同時滿足下面的條件,兩個樹互為映象 它們的兩個根結點具有相同的值。每個樹的右子樹都...