题目考察的知识点:树的遍历

题目解答方法的文字分析:这道题和判断两棵树是否相同基本一样,而判断树是否对称,则一个遍历左,一个遍历右;一个遍历右,另一个遍历左。

本题解析所用的编程语言:c++

bool _isSymmetric(TreeNode* p, TreeNode* q)
{
    if (p == nullptr && q == nullptr)
        return true;

    if (p == nullptr || q == nullptr)
        return false;

    if (p->val != q->val)
        return false;
    return _isSymmetric(p->left, q->right) && _isSymmetric(p->right, q->left);
}
bool isSymmetric(TreeNode* root)
{
    // write code here
    return _isSymmetric(root->left, root->right);
}