題目描述
給定乙個二叉樹,檢查它是否是映象對稱的。
例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。
1
/ \ 2
2/ \ / \34
43
但是下面這個 [1,2,2,null,3,null,3] 則不是映象對稱的:
1
/ \ 2
2 \ \33
高階:
你可以運用遞迴和迭代兩種方法解決這個問題嗎?
解題思路
遞迴:
遞迴的思路比較簡單,具體實現思路如下:
遞迴的時間複雜度為o(n),空間複雜度為o(n)。
迭代:
迭代方法需要借助佇列來實現。
迭代的時間複雜度為o(n),空間複雜度為o(n)。
**實現
遞迴:
/**
* definition for a binary tree node.
* function treenode(val)
*//**
* @param root
* @return
*/var
issymmetric
=function
(root)
return
issametree
(root.left, root.right)};
const
issametree
=(l, r)
=>
迭代:
/**
* definition for a binary tree node.
* function treenode(val)
*//**
* @param root
* @return
*/const
issymmetric
=(root)
=>
return
true
}
提交結果
遞迴:
迭代:
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思路 如果同時滿足下面的條件,兩個樹互為映象 它們的兩個根結點具有相同的值。每個樹的右子樹都...