劍指 Offer 28 對稱的二叉樹(遞迴)1

2021-10-11 16:19:57 字數 684 閱讀 5405

請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。

例如,二叉樹 [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:

輸入:root = [1,2,2,3,4,4,3]

輸出:true

示例 2:

輸入:root = [1,2,2,null,3,null,3]

輸出:false

時間複雜度 o(n) : 其中 n 為二叉樹的節點數量,每次執行 recur() 可以判斷一對節點是否對稱,因此最多呼叫 n/2 次 recur() 方法。

空間複雜度 o(n) : 最差情況下(見下圖),二叉樹退化為鍊錶,系統使用 o(n) 大小的棧空間。

class solution 

boolean recur(treenode l, treenode r)

}

劍指offer 28對稱的二叉樹

題目 判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。思路分析 剛解答過27題,容易受上題影響,但大致思路是一致的 遞迴和迭代。舉乙個對稱的二叉樹例子可知,若二叉樹是對稱的,則其左子樹的左節點和其右子樹的右節點相等,左子樹的右節點和其右子樹的左節點相等。遞迴public b...

劍指 Offer 28 對稱的二叉樹

請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。例如,二叉樹 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 輸入 root 1 2,2...

劍指 Offer 28 對稱的二叉樹

請實現乙個函式,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的映象一樣,那麼它是對稱的。例如,二叉樹 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 輸入 root 1,2,...