
1、分析题目
第一,题目未提供头结点,供我们遍历链表(本题难点所在);第二,被删除的节点存在于链表中且不属于尾节点;第三,要保证链表的顺序不变且删除的节点并未释放,即节点存在但不存在于原来链表中。
2、画图分析

由图所示,我们没有头节点用于遍历链表,所以我们可以将pos指向的节点(即要被删除的节点)与pos的下一个节点交换值。这第一步的依据来源于上面的分析,即pos的后面必然存在节点,所以可以放心交换。第二步将pos->next->next赋值给pos->next,这样就改变了链接的指向(符合了分析条件中的第三点),实现了没有头节点完成给定位置节点的删除。
3、代码实现

画图可以帮我们很好理解链表的连接过程,小编强烈建议大家都可以自己去画画,去体会体会。
如果对您有帮助,不妨点个免费的赞再走吧!