判斷二叉樹是否對稱
給定一棵二叉樹,判斷琪是否是自身的映象(即:是否對稱)
例如:下面這棵二叉樹是對稱的
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 高階 你可以運用遞迴和迭代兩種方法解決這個問題嗎?我是遞迴 如果當前樹是對稱的,那麼其左...