📝题目
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 给定一个二叉树,检查它是否是镜像对称的。
例如,二叉树 [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 另一个树的子树 类似。
📝题解
1 2 3 4 5 6 7 8 9 10
| 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); }
|