题目:https://leetcode-cn.com/problems/rotate-list/
代码:
/**
-
Definition for singly-linked list.
-
struct ListNode {
-
int val;
-
ListNode *next;
-
ListNode(int x) : val(x), next(NULL) {}
-
};
/
class Solution {
public:
ListNode rotateRight(ListNode* head, int k) {
int length = 0;
ListNode *p = head;
if (p == NULL)
return NULL;
ListNode *last = p;
while (p != NULL)
{
last = p;
length++;
p = p->next;
}last->next = head;
int k1 =length - ( k%length);
p = head;
for (int i = 0; i < k1; i++)
{
last = p;
p = p->next;
}last->next = NULL;
return p ;
}
};
结果: