CC BY 4.0(除特别声明或转载文章外)
📝题目
给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [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);
}