class Solution {
public:
//pRoot1, *pRoot2两种遍历方式
bool IsSym(TreeNode*pRoot1, TreeNode*pRoot2)
{
if (!pRoot1&&!pRoot2)
return true;
if (!pRoot1 || !pRoot2)//考虑遍历叶子的子节点
return false;
if (pRoot1->val != pRoot2->val)//必要条件是相等
return false;
return IsSym(pRoot1->left, pRoot2->right) && IsSym(pRoot1->right, pRoot2->left);
}
bool isSymmetrical(TreeNode* pRoot)
{
if (pRoot == nullptr)return true;
return IsSym(pRoot, pRoot);
}
};
对称的二叉树
最新推荐文章于 2022-06-18 10:02:51 发布