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