LeetCode Algorithm 剑指 Offer 28. 对称的二叉树
生活随笔
收集整理的這篇文章主要介紹了
LeetCode Algorithm 剑指 Offer 28. 对称的二叉树
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
劍指 Offer 28. 對稱的二叉樹
Ideas
一開始想的有問題,看了例子以為對稱二叉樹的中序遍歷序列是回文數(shù)組,然后就用這么寫了,結(jié)果到第192個測試用例[1,2,2,2,null,2]就失敗了,才恍然大悟,回文判定搞不定。
那就還是遞歸吧,簡單暴力一點。
兩個指針m和n,每次m往左移的時候n就往右移,m往右移的時候n就往左移。邊界條件就是兩個指針同時為空,return true;,如果一個為空一個不為空的話說明不對稱,return false;。
Code
C++
class Solution { public:bool check(TreeNode* m, TreeNode* n) {if (!m && !n) return true;if (!m || !n) return false;return m->val == n->val && check(m->left, n->right) && check(m->right, n->left);}bool isSymmetric(TreeNode* root) {return check(root, root);} };總結(jié)
以上是生活随笔為你收集整理的LeetCode Algorithm 剑指 Offer 28. 对称的二叉树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode Algorithm 剑
- 下一篇: LeetCode Algorithm 8