题目连接:
https://www.nowcoder.com/questionTerminal/0ab593ca56b1476eb05b1ff848fd7fcc
题目描述
KiKi学习了结构体和指针,他了解了结构体类型可以定义包含多个不同类型成员,而指针本质是内存地址,是引用数据的另外一种方式。现在他想将多个输入的数据通过结构体和指针的方式连接在一起,形成一个单向链表,即:每个结点是结构体类型,包括整型数据成员(data)和结构体指针类型成员(next),每个结点的指针部分指向下一个输入的结点。具体建立过程如下:先输入n个整数,按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。输出删除后的单链表信息。
输入描述:
包括三行:
第一行输入数据个数n (3≤n≤100);
第二行依次输入n个整数,用空格分隔;
第三行输入欲删除数据m。
输出描述:
包括两行:
第一行输出完成删除后的单链表长度;
第二行依次输出完成删除后的单链表数据。
放代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin = new Scanner(System.in);
// int aaa = Integer.parseInt(cin.nextLine());
int aaa = cin.nextInt();
cin.nextLine();
String[] str = cin.nextLine().split(" ");
int a = cin.nextInt();
ArrayList<Integer> aa = new ArrayList<Integer>();
for (int i = 0; i < str.length; i++) {
int b = Integer.parseInt(str[i]);
if (a != b) {
aa.add(b);
}
}
System.out.println(aa.size());
for (int i = 0; i < aa.size(); i++) {
System.out.print(aa.get(i) + " ");
}
}
}