题解 | #牛群旋转#
牛群旋转
https://www.nowcoder.com/practice/5137e606573843e5bf4d8ea0d8ade7f4
/** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @param k int整型 * @return ListNode类 */ struct ListNode* rotateLeft(struct ListNode* head, int k ) { // write code here struct ListNode *cur=head; int length=0; while(cur){ ++length; cur=cur->next; } k%=length; struct ListNode*fast=head,*slow=head; while(k--){ fast=fast->next; } while(fast->next){ fast=fast->next; slow=slow->next; } fast->next=head; head=slow->next; slow->next=NULL; return head; }