1
可能重复:
Reverse every k nodes of a linked list如何反转链接列表中的每个k元素?
说链表是< 1,3,6,4,8,9,0,2>。调用reversek(3)将导致< 6,3,1,9,8,4,2,0>。我已经写了reverse函数,可以在reversek中用作辅助函数。这是我从一个给定的出发点反转给定的终点反转功能:
void List::reverse(Node * & start, Node * & end)
{
Node *pter = start;
while (pter != NULL)
{
Node *tmp = pter->next;
pter->next = pter->prev;
pter->prev = tmp;
if (tmp == NULL)
{
endPoint = startPoint;
startPoint = pter;
}
pter = tmp;
}
我感到困惑如何实现reversek,任何帮助表示赞赏。
为什么最后2点节点的值在您的示例进行交换? – Mahesh
末,开始指针必须在阵列 – SKLAK
piotrnycz的新负责人指出,这不是我的帖子,完全不同。 – SKLAK