我遇到麻烦的功能是void swapTailAndHead. 我的链表结构只有一个指针Node* tail。
主.cpp:
void swapTailtoHead()
{
if(tail == NULL)
return;
else if(justHaveTail())
{
return;
}
else if(countNode() == 2)
{
tail = tail->next;
}
else
{
Node* current = tail;
while(current->next != tail)
current=current->next;
current->next = tail->next;
tail = current->next;
//std::cout<<current->data;
tail->next = current->next->next;
current = current->next->next;
}
}
我的测试用例输入是1 2 3 4
,我的错误输出是2 3 1
我希望交换节点不交换数据。我的输入1 2 3 4和我想要的输出是4 2 3 1