题目要你在双向循环链表的最前面插入一个值为 x 的新节点,再从新头沿后继走一圈输出。本题允许原链表为空(n=0)。
定义一个双向循环链表。给定链表的头节点 head 和一个待插入的新节点,新节点的值为 x。
请将该节点插入到双向循环链表的头部,使其成为新的头节点。
对于双向循环链表,头节点的前驱节点指向尾节点,尾节点的后继节点指向头节点。插入新节点后,需要保证链表仍然满足双向循环链表的结构。
请输出插入完成后,从新的头节点开始沿后继方向遍历一圈得到的节点值序列。
第一行输入两个整数 n 和 x,分别表示原双向循环链表的节点数量和待插入节点的值。
如果 n>0,第二行输入 n 个整数 ai,表示从原链表头节点开始沿后继方向依次遍历得到的节点值,相邻整数之间用空格分隔。
如果 n=0,表示原链表为空,第二行省略。
0≤n≤104
−109≤ai≤109
−109≤x≤109
输出插入完成后,从新的头节点开始沿后继方向遍历一圈得到的节点值。
相邻整数之间用空格分隔。
输入
4 10
1 2 3 4
输出
10 1 2 3 4
说明
原双向循环链表中的节点依次为 1,2,3,4。
将值为 10 的新节点插入链表头部后,新节点成为新的头节点。
此时从新头节点开始沿后继方向遍历一圈,得到 10,1,2,3,4。
输入
1 7
5
输出
7 5
说明
原双向循环链表中只有一个值为 5 的节点。
将值为 7 的新节点插入头部后,链表中的节点依次为 7,5,并且仍然保持双向循环结构。
输入
0 8
输出
8
说明
原链表为空。
插入值为 8 的节点后,该节点成为链表中唯一的节点,其前驱节点和后继节点都指向自身。
© CodeFun2000 · 使用条款
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册