先象征性地看一下有没有子树 有的话判断子树是不是镜像的
这种题目先在纸上画画图更直观
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); } };