先象征性地看一下有没有子树 有的话判断子树是不是镜像的
这种题目先在纸上画画图更直观
class Solution {
public:
bool isOpposite(TreeNode* left, TreeNode* right){
if(left == NULL && right == NULL)
return true;
if(left == NULL || right == NULL)
return false;
if(left->val == right->val)
return isOpposite(left->left, right->right) && isOpposite(left->right, right->left);
return false;
}
bool isSymmetrical(TreeNode* pRoot)
{
if(pRoot == NULL)
return true;
return isOpposite(pRoot->left, pRoot->right);
}
};
京公网安备 11010502036488号