删除单个链表的第't'(t>1)个节点。在生成的链表中,再次删除第't'个节点。重复此操作直到只剩下 t-1 个节点。
为此我想出了: 遍历直到到达第't'个节点,删除所有节点直到结束。 除了这个还有什么有效的方法吗?谁能帮帮我。谢谢。
最佳答案
听起来不错,算法是 O(n)。
确保您也删除了第 t 个节点,因为您只希望保留 t-1 个节点。
听起来他们希望您一次删除 1 个节点,总是删除第 t 个,直到不再有第 t 个节点存在为止。他们可能希望您一次执行 1 个,这样您就可以在要删除的节点上为 C++ 调用 delete
或为 C 调用 free
。
关于c++ - 链表问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2984842/