实现一个双链表,双链表初始为空,支持
- 在最左侧插入一个数;
- 在最右侧插入一个数;
- 将第
$k$ 个插入的数删除; - 在第
$k$ 个插入的数左侧插入一个数; - 在第
$k$ 个插入的数右侧插入一个数
现在要对该链表进行
注意:题目中第
第一行包含整数
接下来
-
L x
,表示在链表的最左端插入数$x$ 。 -
R x
,表示在链表的最右端插入数$x$ 。 -
D k
,表示将第$k$ 个插入的数删除。 -
IL k x
,表示在第$k$ 个插入的数左侧插入一个数。 -
IR k x
,表示在第$k$ 个插入的数右侧插入一个数。
共一行,将整个链表从左到右输出。
所有操作保证合法。
10
R 7
D 1
L 3
IL 2 10
D 3
IL 2 7
L 8
R 9
IL 4 7
IR 2 2
8 7 7 3 2 9
前置题目:0826
前置知识:单链表
本题知识:数据结构-双链表
整个双链表的初始状态如下:
使用下标为 0 和下标为 1 的节点分别充当最左侧和最右侧节点的角色,不存储任何实际的值。
真正有用的节点从下标为 2 开始
- e 存储节点的值
- l 存储节点的左指针
- r 存储节点的右指针