这个题是考察链表的遍历查找 、插入和删除 非常基础的操作
Java有现成的链表LinkedList 这里直接用了  懒得写了
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int head = in.nextInt();
        LinkedList<Integer> linkedList = new LinkedList<>();
        linkedList.add(head);
        for (int i = 0; i < n - 1; i++) {
            int tailNUm = in.nextInt();
            int headNum = in.nextInt();
            // indexOf 获得该值下标 这个下标与数组的下标只是表象相同 实际是
            // for(0 -> index) p = p.next
            // add()加1的原因是默认是插到前面的 题目要求插到后面
            linkedList.add(linkedList.indexOf(headNum) + 1, tailNUm);
        }
        // 因为remove有两个重载方法: 
        // remove(Object o) 和 remove(int index)
        // 我们需要的是 remove(Object o) 所以要把int装箱为Integer  
        linkedList.remove(Integer.valueOf(in.nextInt()));
        linkedList.forEach(x -> System.out.print(x + " "));
    }
}