链表基本操作/蓝桥评测系统

为啥不对呢?

img

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

你的程序的输出,最后结果少了一个输出结果

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^