import java.util.Scanner;
public class Main{
public static int N = 100010;
public static int[] e = new int[N];
public static int[] l = new int[N];
public static int[] r = new int[N];
static int idx;
private static void init() {
l[1] = 0;
r[0] = 1;
idx = 2;
}
public static void add(int k, int x) {
e[idx] = x;
r[idx] = r[k];
l[idx] = k;
l[r[k]] = idx;
r[k] = idx;
idx++;
}
public static void remove(int k) {
r[l[k]] = r[k];
l[r[k]] = l[k];
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
init();
int m = sc.nextInt();
while (m-- != 0) {
String op = sc.next();
int k, x;
if (op.equals("L")) {
x = sc.nextInt();
add(0, x);
} else if (op.equals("R")) {
x = sc.nextInt();
add(l[1], x);
} else if (op.equals("D")) {
k = sc.nextInt();
remove(k + 1);
} else if (op.equals("IL")) {
k = sc.nextInt();
x = sc.nextInt();
add(l[k + 1], x);
} else {
k = sc.nextInt();
x = sc.nextInt();
add(k + 1, x);
}
}
for (int i = r[0]; i != 1; i = r[i]) {
System.out.print(e[i] + " ");
}
System.out.println();
}
}
827. 双链表
最新推荐文章于 2024-05-10 21:55:08 发布