【发布时间】:2010-02-03 08:00:55
【问题描述】:
给定一个 T 大小的链表,选择前 2n 个节点并从中删除前 n 个节点;然后对接下来的 2n 个节点执行此操作,依此类推...
例如- 让我们考虑一个大小为 7 的链表:
`1->2->3->4->5->6->7`
如果 n = 2,则所需的输出为:
`1->2->5->6->7`
我不明白这个问题实际上是什么意思。有人可以帮我理解这个问题吗?
编辑:添加 C 和 C++ 标签以便吸引更多眼球,当然这只是面试本身允许的两种语言。
【问题讨论】:
-
你的问题陈述和例子相互矛盾。
-
@Alok :是的,但我完全复制了呈现给我的内容。
-
“第一个”似乎应该是“最后一个”,即“选择 2n 个第一个节点并从中删除 最后一个 n 个节点”。
-
@nthgreek:那么,你应该要求澄清一下。这个问题,就目前而言,没有任何意义。正如其他人所说,您的意思可能是“最后一个”,而不是“第一个”。
-
... 即便如此,使用该描述我也会删除 7 (属于第二个块的后半部分,恰好是不完整的)。在面试中,对手头问题的理解是我要测试的事情之一。这并不意味着从对问题的第一次阐述中理解,而是在在进行任何工作之前他们提出了尽可能多的问题以获得所有要求。否则你最终会为错误的问题编写代码解决方案。