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