剑指offer-58:对称的二叉树
目录
剑指offer-58对称的二叉树目录
1题目描述2分析及答案
1题目描述
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
2分析及答案
递归
class Solution {
public:
bool isSymmetrical(TreeNode
* pRoot){
if(pRoot
==NULL)
return true;
return isSame(pRoot
->left,pRoot
->right);
}
bool isSame(TreeNode
* p1,TreeNode
* p2){
if(p1
==NULL && p2
!=NULL)
return false;
if(p2
==NULL && p1
!=NULL)
return false;
if(p1
==NULL && p2
==NULL)
return true;
if(p1
->val
==p2
->val)
return isSame(p1
->right,p2
->left)
&& isSame(p1
->left,p2
->right);
else
return false;
}
};