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-572 另一个树的子树 类似。

📝题解

bool isSymmetricTree(TreeNode* root1, TreeNode* root2){ //辅助函数
    if (root1 == NULL && root2 == NULL) return true;
    if (root1 == NULL || root2 == NULL) return false;
    return (root1->val == root2->val && isSymmetricTree(root1->left, root2->right) && isSymmetricTree(root1->right, root2->left));
}

bool isSymmetric(TreeNode* root){ //主函数
    if (root == NULL)   return true;
    return isSymmetricTree(root->left, root->right);
}