61. Rotate List(易错)

来源:互联网 发布:蔡文静演过的网络剧 编辑:程序博客网 时间:2024/05/17 05:19

Given a list, rotate the list to the right by k places, where k is non-negative.

For example:
Given 1->2->3->4->5->NULL and k = 2,
return 4->5->1->2->3->NULL.

Subscribe to see which companies asked this question

比如说 [1],1这样的数据。

class Solution {public:ListNode* rotateRight(ListNode* head, int k) {if (head == NULL||k<=0) return head;ListNode* p = head;int len = 0;while (p){p = p->next;len++;}k = k%len;///if (k == 0) return head;//ListNode* faster = head;ListNode* slower = head;while (k--){faster = faster->next;}while (faster->next){faster = faster->next;slower = slower->next;}ListNode* newHead = slower->next;slower->next = NULL;faster->next = head;return newHead;}};


0 0
原创粉丝点击