题解 | #从单向链表中删除指定值的节点# 直接使用List
从单向链表中删除指定值的节点
https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 节点个数
int n = scanner.nextInt();
// 头节点
int head = scanner.nextInt();
// 用于存储数据的集合
List<Integer> list = new ArrayList<>();
// 先将头节点的值存入集合
list.add(head);
// 还剩n-1个节点,每个节点两两一组录入
for (int i = 0; i < n - 1; i++) {
int nextOne = scanner.nextInt();
int thisOne = scanner.nextInt();
// thisOne后接nextOne 即找到thisOne的下标 + 1 就是nextOne的位置
list.add(list.indexOf(thisOne) + 1, nextOne);
}
// 需要删除的值
int delete = scanner.nextInt();
// 删除值为delete的元素
list.remove(list.indexOf(delete));
// 按要求输出
for (Integer i : list) {
System.out.print(i + " ");
}
}
}

SHEIN希音公司福利 244人发布