标签:
For example:
Given 1->2->3->4->5->NULL
and k = 2
,
return 4->5->1->2->3->NULL
.
旋转链表
/** * 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) { if(head==NULL) return head; ListNode* tmp=head; int n=1; while(tmp->next!=NULL) //求长度 { tmp=tmp->next; n++; } k%=n; if(k==0) return head; ListNode* l=head; int len=n-k; while(--len) //转折点 { l=l->next; } ListNode* res=l->next; l->next=NULL; tmp->next=head; return res; } };
标签:
原文地址:http://blog.csdn.net/u011391629/article/details/52097751