import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int n=in.nextInt(); int h=in.nextInt(); LinkNode head=new LinkNode(h); for(int i=1;i<n;i++){ int a=in.nextInt(); int b=in.nextInt(); //a插入到b后面 LinkNode dummy=head; //使用dummy遍历链表 LinkNode aNode=new LinkNode(a); while(dummy!=null){//节点非空 if(dummy.val==b){ //找到对应节点dummy,a要插入进来 LinkNode tmp=dummy.next;//临时记录下一个节点 dummy.next=new LinkNode(a,tmp); break; } //遍历 dummy=dummy.next; } } //现在查找k int k=in.nextInt(); while(head!=null){ if(head.val!=k){ System.out.print(head.val); System.out.print(" "); head=head.next; }else{ head=head.next; } } } } class LinkNode { LinkNode(int val){ this.val=val; this.next=null; } LinkNode(int val,LinkNode next){ this.val=val; this.next=next; } int val; LinkNode next; }
题目不难,开始,非k节点的输出忘记推head了