思路:将前序改为根右左遍历和原来的前序遍历比较,其中注意空节点的处理和逻辑运算
代码如下所示:
class Solution {
public:
bool isSymmetric(TreeNode* root) {
return Symmetric(root,root);
}
bool Symmetric(TreeNode *root1,TreeNode *root2)
{
if(root1==NULL&&root2==NULL) return true;
if(root1==NULL||root2==NULL) return false;
if(root1->val!=root2->val) return false;
//注意这里是与 第一次写成了或 要想清楚逻辑
return Symmetric(root1->left,root2->right)&&Symmetric(root1->right,root2->left);
}
};