101. 對稱二叉樹

關關的刷題日記發表於2018-01-10

題目的意思是判斷一棵樹是否是映象的,此處映象指的是中心對稱的樹。

 

思路:一棵樹如果是映象的,那麼它的左右子樹就得是映象的。兩棵樹是映象的條件:根節點值相等,且其中一棵樹的左子樹和另一棵樹的右子樹必須得是映象的,採用遞迴的方法。

class Solution {
public:
    bool help(TreeNode* p, TreeNode* q){
        if(!p || !q) return p==q;
        return (p->val == q->val && help(p->left, q->right) && help(p->right, q->left));
    }
    
    bool isSymmetric(TreeNode* root) {
        return !root || help(root->left, root->right);
    }
};

 

 

 

 

 

相關文章