Java语言,通过栈的方法建立二叉树,递归求最近共同祖先结点
2021-12-30 15:46:27 7KB 二叉树 最近公共祖先
1
int found(Bstnode *p,int a, int b) //查找两个不同结点的最近公共祖先 { Bstnode *q; int i=0; if(a==p->key||b==p->key) return i; //如果两个结点中有一个是根结点 else while(p!=NULL){ //则表明它们没有最近公共祖先 if(a>p->key&&b>p->key) { q=p; p=p->rchild; } else if(akey&&bkey) { q=p; p=p->lchild;} else if(a==p->key||b==p->key) return(q->key); else return(p->key); } }
2021-12-01 15:45:35 79KB 二叉排序树 结点 最近公共祖先
1