/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
//判断,左边和右边是不是对称的
bool solve( TreeNode * L, TreeNode * R )
{
if( nullptr!=L && nullptr!=R )
{
if( (L->val) != (R->val) )
{
return false;
}
else
{
return solve( L->left, R->right ) && solve( L->right, R->left);
}
}
if( nullptr==L && nullptr==R )
{
return true;
}
return false;
}
class Solution {
public:
/**
*
* @param root TreeNode类
* @return bool布尔型
*/
bool isSymmetric(TreeNode* root) {
// write code here
return solve( root, root );
}
};