LeetCode | 101. 对称二叉树
OJ链接
- 在本函数里不好进行判断,我们另外定义一个函数来
- 如果两个都相等为空,就返回true
- 一个为空,一个不为空
- 都不为空,就比较值
- 然后递归1的左,2的右,1的右,2的左
bool _isSymmetric(struct TreeNode* root1,struct TreeNode* root2)
{
//如果两个都相等为空,就返回true
if(root1 == NULL && root2 == NULL)
return true;
//一个为空,一个不为空
if(root1 == NULL || root2 == NULL)
return false;
//都不为空,就比较值
if(root1->val != root2->val)
return false;
//遍历root1的左和2右
//1的右和2的左
return _isSymmetric(root1->left,root2->right)
&& _isSymmetric(root1->right,root2->left);
}
bool isSymmetric(struct TreeNode* root) {
return _isSymmetric(root->left,root->right);
}