二叉树中 根节点 到 所有值为x的结点 的路径

这篇博客介绍了如何在二叉树中找到从根节点到所有值为x的节点的路径。通过遍历二叉树,可以找出所有符合条件的路径。文章提供了完整的代码实现。
摘要由CSDN通过智能技术生成

二叉树中根节点所有值为x的结点路径

void search_path(BTNode* p,int x){
    BTNode* S[LEN]; //定义工作栈
    int top=-1;     //栈顶指针
    BTNode* r=NULL; //指向最近访问过的节点 
    while(top>=0 || p){
  //栈空p空 停止循环 
        while(p){   //移最左下 
            S[++top]=p;
            if(p->data==x){
  //找到目标结点 
                cout<<"path: ";
                for(int i=0;i<=top;i++) visit(S[i]);
                cout<<";"<<endl;
//              exit(0);    加上这个语句就是只找一个 
            }           
            p=p->lchild;
        }
        while(top>=0 && S[top]->tag==1){    //访问标记 
//          visit(S[top]);
            top--;
        }
        if(top>=0){     
            S[top]->tag=1;    //标记栈顶 
            p=S[top]->rchild; //转右子树 
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值