二叉树中路径的求解

来源:互联网 发布:python 字符串 编辑:程序博客网 时间:2024/04/30 13:37

问题:求二叉树中根结点到P结点的路径

void path(char ch){int top=-1;int tag[100];BiNode *A[100];//模拟栈BiNode *T=root;while(T!=NULL||top!=-1){while(T!=NULL)//扫描左子树{top++;A[top]=T;tag[top]=0;T=T->lchild;}while(top!=-1&&tag[top]==1)//左右子树均访问过{T=A[top];if(T->data==ch)//找到P结点{cout<<A[0]->data;for(int i=1;i<=top;i++)cout<<"->"<<A[i]->data;cout<<endl;return;}else//访问结点{top--;T=A[top];}}if(T==NULL&&top!=-1)//开始扫描右子树{T=A[top];T=T->rchild;tag[top]=1;}else if(top!=-1){T=T->rchild;tag[top]=1;}}}


 

原创粉丝点击