#include <cstddef>
#include <iostream>
using namespace std;
struct Node{
int val;
Node *next;
};
int main() {
int n,h,k;cin>>n>>h;
Node *head = new Node;
Node *p= new Node;
head->val = h;
head->next = nullptr;
int pre,idx;
n--;
while(n--){
cin>>idx>>pre;
Node *q = new Node();
q->val = idx;
for(p = head;p!=nullptr;p = p->next){
if(p->val==pre){
q->next = p->next;
p->next = q;
}
}
}
cin>>k;
if(head->val==k){
head = head->next;
}
for(p = head;p!=nullptr;p = p->next){
if(p->next->val==k){
p->next = p->next->next;
break;
}
}
for(p=head;p!=nullptr;p=p->next){
cout<<p->val<<' ';
}
return 0;
}
// 64 位输出请用 printf("%lld")
思路不难,但是可能会遇到空指针错误,在20行,原来是直接new Node,后来改为new Node();之后就可以了,也不知道是为什么,求大佬解答。



京公网安备 11010502036488号