1835-查找二叉树


本文总阅读量

题目的输入告诉我们格式:data,左孩子节点编号,右孩子节点编号。
可以使用结构体方式储存数据:

struct node{
	int data,l,r;
}tree[105];

题目要求查找的值x,按中序遍历是第几个。
所以把数据储存后,按中序遍历搜索。

void dfs(int i)  //i表示节点编号
{
    if(tree[i].l!=0) dfs(tree[i].l); //左孩子存在
    cnt++;
    if(x==tree[i].data){
         cout<<cnt<<endl;
    }
    if(tree[i].r!=0) dfs(tree[i].r); //右孩子存在
}

本站总访问量