兄弟结点是指同一父亲的孩子之间互为兄弟结点。
bool judge_bro(BiTree T,char x,char y) //判断两个节点是不是兄弟节点
{
if(T==NULL)
return false;
//如果一个节点的左右孩子都不为空,且两个孩子一个等于x,一个等于y
//则两节点是兄弟节点,返回true
if(T->lchild!=NULL && T->rchild!=NULL)
if(T->lchild->data==x && T->rchild->data==y ||
T->lchild->data==y && T->rchild->data==x)
return true;
//如果一个节点的左右孩子至少有一个为空
if(judge_bro(T->lchild,x,y)) //递归遍历左孩子
return true;
else //若左孩子没有找到兄弟节点,遍历右孩子
return judge_bro(T->rchild,x,y);
}