单向链表删除节点的一种巧妙方法
逛网页发现有人总结了这样的一个算法,思路很是巧妙,总结记录一下。
在某些场景下,可能需要根据节点指针p去删除该节点,这在单向链表中因为较难获取其前向节点,只能遍历链表进行删除操作。然而实际上还有这样一种“偷梁换柱”的方法,针对节点较小的情况尤其有效:
将p->next的节点内容复制到节点p中,删除p->next节点。
逛网页发现有人总结了这样的一个算法,思路很是巧妙,总结记录一下。
在某些场景下,可能需要根据节点指针p去删除该节点,这在单向链表中因为较难获取其前向节点,只能遍历链表进行删除操作。然而实际上还有这样一种“偷梁换柱”的方法,针对节点较小的情况尤其有效:
将p->next的节点内容复制到节点p中,删除p->next节点。