Oxevry 2023-02-12 23:26 采纳率: 66.7%
浏览 32

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

为啥不对呢?

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

  • 写回答

2条回答 默认 最新

  • 阳光宅男xxb 2023-02-13 10:07
    关注

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

    评论

报告相同问题?

问题事件

  • 创建了问题 2月12日