今天来看一道二叉树的题目
题目描述:
给出每一个节点的左右孩子,请输出每一个节点的父亲节点。
输入格式:
第一行一个正整数 n 表示节点数(节点编号从 1 到 n)
接下来 n 行每行两个整数表示左右孩子,-1表示空
输出格式:
一行 n 个数表示答案
样例输入1:
3 2 3 -1 -1 -1 -1
样例输出1:
-1 1 1
约定:
1 <= n <= 20
不会啊
回去看看老师上课讲了啥。。。
会了!
开写!
#include<bits/stdc++.h>
using namespace std;
int n,lc,rc,f[1005];
int main(){
cin>>n;
memset(f,-1,sizeof f);
for(int i=1;i<=n;i++){
cin>>lc>>rc;
if(lc!=-1){
f[lc]=i;
}if(rc!=-1){
f[rc]=i;
}
}
for(int i=1;i<=n;i++){
cout<<f[i]<<" ";
}
}
完成!