为啥不对呢?
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
LinkedList linkedList1 = new LinkedList();
Scanner sc = new Scanner(System.in);
int index;
int n;
char flag = ' ';
while (true) {
flag = sc.next().charAt(0);
switch (flag) {
case 'C':
index = sc.nextInt();
n = sc.nextInt();
Node num = new Node(n);
linkedList1.AddNode(index, num);
break;
case 'D':
index = sc.nextInt();
linkedList1.Delete(index);
break;
case 'P':
index = sc.nextInt();
linkedList1.Show(index);
break;
}
}
}
}
class LinkedList {
private Node head = new Node(0);
public void AddNode(int index, Node num) {
Node temp = head;
if (index == 0) {
num.next = temp.next;
temp.next = num;
return;
}
for (int i = 0; i < index; i++) {
if (temp.next == null) {
temp.next = new Node(0);
}
temp = temp.next;
}
if (temp.next != null) {
num.next = temp.next;
}
temp.next = num;
}
public void Delete(int index) {
Node temp = head;
if (index == 1) {
temp.next = temp.next.next;
return;
}
for (int i = 1; i < index; i++) {
temp = temp.next;
}
temp.next = temp.next.next;
}
public void Show(int index) {
Node temp = head;
for (int i = 0; i < index; i++) {
temp = temp.next;
}
System.out.println(temp.m);
}
}
class Node {
public int m;
Node next;
public Node(int n) {
this.m = n;
}
}
评测数据1
输入
C 0 1
C 0 2
P 1
C 2 3
P 3
C 1 4
P 2
C 4 5
D 1
P 1
C 0 6
P 1
P 2
输出
2
3
4
4
6
4
评测数据2
输入
C 0 0
C 1 1
C 2 2
C 3 3
C 4 4
D 1
P 2
P 4
C 1 1001
C 5 1002
D 6
C 4 1003
C 3 1004
C 3 1005
P 5
P 7
D 1
P 1
P 2
输出
2
4
1004
1003
1001
2
你的程序的输出,最后结果少了一个输出结果
不知道你这个问题是否已经解决, 如果还没有解决的话: