我目前正在解决列表和函数的总和问题,我遇到了这个问题,即逆时针旋转链表 k。这是相同的代码
void rotate_k(struct list *node,int k)
{
int count=0;
struct list *knode,*ptr=node;
while(ptr!=NULL && count < k)
{
ptr=ptr->next;
count++;
}
knode=ptr;
while(ptr->next!=NULL)
{
ptr=ptr->next;
}
ptr->next =node;
node=knode->next;
knode->next=NULL;
}
假设输入是 1->2->3->4->5->6 并且 k=4。
输出应该是 5->6->1->2->3->4 但代码给出输出 1->2->3->4->5 。需要帮助 :)