【劍指 offer】對(duì)稱的二叉樹(shù)

1、題目描述

請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),用來(lái)判斷一棵二叉樹(shù)是不是對(duì)稱的。

如果一棵二叉樹(shù)和它的鏡像一樣,那么它是對(duì)稱的。

樣例

如下圖所示二叉樹(shù)[1,2,2,3,4,4,3,null,null,null,null,null,null,null,null]為對(duì)稱二叉樹(shù):
1
/ \
2 2
/ \ / \
3 4 4 3

如下圖所示二叉樹(shù)[1,2,2,null,4,4,3,null,null,null,null,null,null]不是對(duì)稱二叉樹(shù):
? 1
? / \
2 ? 2
\ ??/ \
4 4 3

2、問(wèn)題描述:

  • 判斷一個(gè)二叉樹(shù)是否是左右鏡面對(duì)稱的。

3、問(wèn)題關(guān)鍵:

  • 遞歸左右子樹(shù),看對(duì)稱位置值是否相同。

4、C++代碼:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool isSymmetric(TreeNode* root) {
        if (!root) return true;//空結(jié)點(diǎn)是對(duì)稱的。
        return dfs(root->left, root->right);
    }
    bool dfs(TreeNode *p, TreeNode *q) {
        if (!p || !q) return !p && !q;
        if (p->val != q->val) return false;
        return dfs(p->left, q->right) && dfs(p->right, q->left);//判斷左子樹(shù)的左結(jié)點(diǎn)和右子樹(shù)的有結(jié)點(diǎn)是否相等。左子樹(shù)的右結(jié)點(diǎn)和右子樹(shù)的左結(jié)點(diǎn)是否相同。
    }
};
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 題目 請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),用來(lái)判斷一棵二叉樹(shù)是不是對(duì)稱的。如果一棵二叉樹(shù)和它的鏡像一樣,那么它是對(duì)稱的。例如,在如圖4...
    Longshihua閱讀 143評(píng)論 0 1
  • 本文首發(fā)于我的個(gè)人博客:尾尾部落 題目描述 請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),用來(lái)判斷一顆二叉樹(shù)是不是對(duì)稱的。注意,如果一個(gè)二叉樹(shù)同...
    繁著閱讀 277評(píng)論 0 1
  • 題目描述 [對(duì)稱的二叉樹(shù)] 請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),用來(lái)判斷一顆二叉樹(shù)是不是對(duì)稱的。注意,如果一個(gè)二叉樹(shù)同此二叉樹(shù)的鏡像是...
    一只可愛(ài)的檸檬樹(shù)閱讀 94評(píng)論 0 0
  • 描述:請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù),用來(lái)判斷一顆二叉樹(shù)是不是對(duì)稱的。注意,如果一個(gè)二叉樹(shù)同此二叉樹(shù)的鏡像是同樣的,定義其為對(duì)稱的...
    大數(shù)據(jù)Zone閱讀 161評(píng)論 0 1
  • 本身就是不寫東西好多年了,初寫簡(jiǎn)書(shū)好像純粹就是文字的一種簡(jiǎn)單羅列。為了練筆,告訴自己一定要堅(jiān)持。每天都要很努力的記...
    靜音2006閱讀 166評(píng)論 0 0

友情鏈接更多精彩內(nèi)容