二叉树的查找路径

节点的结构

typedef struct BTNode{
    
    
    char c;
    struct BTNode *lchild,*rchild;
};

算法

char road[100];
int top_road=-1;

//在祖先树中找结点
BTNodeptr find_node(BTNodeptr np,char c){
    
    
    BTNodeptr result=NULL;
    if(np){
    
    
        road[++top_road]=np->c;
        if(np->c==c){
    
    
            road[++top_road]='\0';
            result=np;
        }
        else{
    
    
            result=find_node(np->lchild,c);
            if(result==NULL)
                result=find_node(np->rchild,c);
        }
        if(result==NULL)
            top_road--;
    }
    return result;
}

猜你喜欢

转载自blog.csdn.net/yuanren201/article/details/106332726
今日推荐