/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pRoot TreeNode类
* @return bool布尔型
*/
bool istrue(struct TreeNode* pRoot1,struct TreeNode* pRoot2){
if(!pRoot1 && !pRoot2){return true;}
if(!pRoot1 || !pRoot2){return false;}
if(pRoot1->val==pRoot2->val){
return istrue(pRoot1->left,pRoot2->right) && istrue(pRoot1->right,pRoot2->left);
}else{return false;}
}
bool isSymmetrical(struct TreeNode* pRoot ) {
// write code here
if(!pRoot){return true;}
return istrue(pRoot->left,pRoot->right);
}
//方法二:利用中序遍历将遍历后的数存入数组,判断O(i)=O(n-1-i)即可