链接:https://leetcode-cn.com/problems/symmetric-tree/description/
给定一个二叉树,检查它是否是它自己的镜像(即,围绕它的中心对称)。
例如,这个二叉树 [1,2,2,3,4,4,3]
是对称的。
1
/ \
2 2
/ \ / \
3 4 4 3
但是下面这个 [1,2,2,null,3,null,3]
则不是:
1
/ \
2 2
\ \
3 3
代码如下(使用C语言环境)
bool bfs(struct TreeNode* LNode,struct TreeNode* RNode)
{
bool ret;
if(LNode==NULL&&RNode==0)
return true;
if(LNode!=0&&RNode!=0)
{
if(LNode->val!=RNode->val)
return false;
ret=bfs(LNode->left,RNode->right)&&bfs(LNode->right,RNode->left);
return ret;
}
else
return false;
}
bool isSymmetric(struct TreeNode* root) {
if(!root)
return true ;
else
return (bfs(root->left,root->right));
}