力扣101 對稱二叉樹

2021-10-20 18:20:06 字數 843 閱讀 4224

判斷二叉樹是否對稱

給定一棵二叉樹,判斷琪是否是自身的映象(即:是否對稱)

例如:下面這棵二叉樹是對稱的

2    2

3 4  4  3

下面這棵二叉樹不對稱。

2   2

3    3

備註:希望你可以用遞迴和迭代兩種方法解決這個問題

示例1輸入

輸出true

示例2輸入

輸出false

對稱二叉樹:

-模式識別:深度搜尋(遞迴)、廣度搜尋(佇列,迭代)

-子樹對稱條件:

他們2個根結點具有相同的值

每個樹的右子樹與另乙個樹的左子樹映象對稱

//遞迴

//treenode .

type treenode struct

func issymmetric(root *treenode) bool

func ismirror(p, q *treenode) bool

if p == nil || q == nil

//2棵樹中,一顆的左子樹是否等於另一顆的右子樹

return p.val == q.val && ismirror(p.left, q.right) && ismirror(p.right, q.left)

}//迭代

func check(root *treenode) bool

for len(queue) > 0

if u == nil || v == nil

if u.val != v.val

} return true

}

力扣 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 二 解題思路 遞迴思想。1 先判斷根節點是否為空節點 2 判斷左子樹a和右...

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 3bool issymmetric2 struct treenode q,struct tr...

力扣 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 高階 你可以運用遞迴和迭代兩種方法解決這個問題嗎?我是遞迴 如果當前樹是對稱的,那麼其左...