2022年11月4日 星期五

[61] Rotate List

ㄟ~~~嗯~~~該說什麼好呢XD
奇怪我好像總是有多餘的檢查在回圈裡面?!
但是因為很快就accept了所以不想再追究了(遮臉)
C 真是 Linked list 的好朋友啊~~~~~

/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* rotateRight(struct ListNode* head, int k){
if (head == NULL || k==0 || head->next == NULL)
return head;

int length=0;
struct ListNode* pRun = head;
while(pRun!=NULL)
{
length++;
if (pRun->next==NULL)
break;
pRun=pRun->next;
}
pRun->next=head;
int stop = length - k%length;
for(int rotate=0; rotate <stop;rotate++)
{
if (rotate+1 ==stop)
pRun = head;
head = head->next;
}
pRun->next = NULL;
return head;
}

沒有留言:

張貼留言