递归
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
bool isSym(struct TreeNode* p, struct TreeNode* q){
if(!p && !q)
return true;
else if(!p || !q)
return false;
else if(p->val != q->val)
return false;
else
return p->val == q->val && isSym(p->left, q->right) && isSym(p->right, q->left);
}
bool isSymmetric(struct TreeNode* root){
return isSym(root, root);
}