101. 对称二叉树
问题描述
给你一个二叉树的根节点 root , 检查它是否轴对称。
分析
由于该题不仅要考虑数据的轴对称,还要考虑结构的轴对称,例如

所以需要两个方向的递归同时进行,过程中比较对称结点的值是否相等。
class Solution {
public:
bool solve(TreeNode* l_root, TreeNode* r_root) {
bool x, y;
if (l_root == nullptr && r_root == nullptr) {
return true;
}
if (l_root == nullptr || r_root == nullptr) {
return false;
}
if (l_root->val != r_root->val) {
return false;
}
x = solve(l_root->left, r_root->right);
y = solve(l_root->right, r_root->left);
if (x && y) {
return true;
}
return false;
}
bool isSymmetric(TreeNode* root) {
return solve(root, root);
}
};

浙公网安备 33010602011771号