给你一个二叉树的根节点 root
, 检查它是否轴对称。
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
bool check(struct TreeNode* L,struct TreeNode* R){
if(!L&&!R){return true;}//LR都为空
if(!L||!R){return false;}//LR有一个不为空
//检查LR的值,并递归检查L的左子树和R的右子树,L的右子树和R的左子树,都相同返回true
return L->val==R->val&&check(L->left,R->right)&&check(L->right,R->left);
}
bool isSymmetric(struct TreeNode* root) {
if(!root){return true;}
return check(root->left,root->right);
}