题目描述
给你一个二叉树的根节点 root , 检查它是否轴对称。
解题思路
递归判断,写一个sym函数,输入未left和right两个节点,分别为二叉树沿轴对称位置处的两个节点,那么为轴对称的条件为:left和right节点的val相同,并且其下面层也是对称的,并且如果left和right均为空,则对称,有一个为空,则不对称
bool isSymmetric(TreeNode* root)
{
if(!root) return true;
return sym(root->left, root->right);
}
bool sym(TreeNode* left, TreeNode* right)
{
if(!left && !right) return true;
if(!left || !right) return false;
return (left->val == right->val) && sym(left->left, right->right) && sym(left->right, right->left);
}