gpt4 book ai didi

c - 删除单链表中第二次出现的节点

转载 作者:太空宇宙 更新时间:2023-11-03 23:55:52 24 4
gpt4 key购买 nike

这是一道面试题,我正试图解决它。我完全解决了,我意识到我错过了一个测试用例。

问题是,如何删除链表中第二次出现的节点。例如:1->2->9->5->2 然后我输入 2。所以输出应该是 1->9>5->2

我确实使用两个指针 first 和 second 解决了问题,这两个指针将根据发现结果不断交换。而且我总是存储以前的指针。例如,在上面的示例中,我存储在 1 和 5。这样我就可以随时删除下一个。

但是如果链表变成这样怎么办:2->7->9->2out 必须是 7->9->2。

如果你们有任何问题,请告诉我?

最佳答案

  • 假设单链表,从左到右迭代列表。
  • 如果下一个节点是您要查找的节点,请用临时指针指向它。
  • 让当前节点的next指针指向next->next。
  • 删除临时指针指向的节点。

关于c - 删除单链表中第二次出现的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7895385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com