-->
当前位置:首页 > 题库 > 正文内容

程序填空题:求根结点到x结点的路径(递归法)

Luz4年前 (2021-05-10)题库1881
求根结点到x结点的路径(假定结点不重复)。

```c++
#include
#include
#include

using namespace std;
typedef struct BiNode{
char data;
struct BiNode *lchild,*rchild;
}BiTNode,*BiTree;

void CreateBiTree(BiTree &T){
char ch;
cin>>ch;
if(ch=='#') T=NULL;
else{
T=new BiTNode;
T->data=ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}

bool Findxpath(BiTree bt,int x,vector tmppath,vector &path)
{
if (bt==NULL)
return false;
;
if (bt->data==x)
{
;
;
}
bool find=;
if (find)
return true;
else
return ;
}

int main(){
BiTree T;
char x;
vectortmppath;
vectorpath;
CreateBiTree(T);
cin>>x;
Findxpath(T,x,tmppath,path);
for(int i=0;i cout< return 0;
}
```
### 输入样例:
输入一行字符序列先序递归构建二叉树。每个字符对应一个结点,#表示空结点。第二行输入一个结点值x。
```in
52#3##41##6##
3
```

### 输出样例:
输出从根到结点x的路径。
```out
5 2 3
```





答案:
第1空:tmppath.push_back(bt->data)

第2空:path=tmppath

第3空:return true

第4空:Findxpath(bt->lchild,x,tmppath,path)

第5空:Findxpath(bt->rchild,x,tmppath,path)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。