class Solution {
public:
bool ismirror(TreeNode* p1,TreeNode* p2){
if(p1==NULL&&p2==NULL) return true;
if(p1==NULL&&p2!=NULL) return false;
if(p2==NULL&&p1!=NULL) return false;
if(p1->val!=p2->val) return false;
return ismirror(p1->left,p2->right)&&ismirror(p1->right,p2->left);
//当前判断的两个节点如果值相等,就往后判断,否则返回false,如果当前两个节点都为空,也就是一般到达了最低端节点,路上都是对的,就返回true。
}
bool isSymmetrical(TreeNode* pRoot) {
if(pRoot==NULL) return true;
return ismirror(pRoot,pRoot);
}
};

京公网安备 11010502036488号