假设二叉树采用二叉链式存储结构存储,设计一个算法,输出一棵给定二叉树的所有叶子结点

#include<bits/stdc++.h>
typedef struct node
{
    char data;
    struct node *lchild,*rchild;
}BTNode;
void Greate(BTNode *&T)
{
    char ch;
    scanf("%c",&ch);
    if(ch=='#') T=NULL;
    else 
    {
        T=(BTNode*)malloc(sizeof(BTNode));
        T->data=ch;
        Greate(T->lchild);
        Greate(T->rchild);
    }
}
void DispLeaf(BTNode *T)
{
    if(T!=NULL)
    {
        if(T->lchild==NULL && T->rchild==NULL)    
            printf("%c",T->data);
        DispLeaf(T->lchild);
        DispLeaf(T->rchild);
    }
}
int main()
{
    BTNode *T;
    Greate(T);
    DispLeaf(T); 
    return 0;
}

猜你喜欢

转载自blog.csdn.net/2302_77099705/article/details/130903522