您的位置:首页 > 其它

61. Rotate List

2016-03-09 15:05 369 查看
ListNode* rotateRight(ListNode* head, int k) {
if(head==NULL)
return NULL;
ListNode* p,*q;
int i=0,num=0;
p=head;
q=head;
while(p!=NULL)
{
num++;
p=p->next;
}
p=head;
k=k%num;
while(i<k){
while(p->next!=NULL){
q=p;
p=p->next;
}
p->next=head;
head=p;
q->next=NULL;
i++;
}//while
return head;
}
      此题就是一次一次的有移,值得注意的是,应该先统计出有几个结点,求出右移对结点数的余数,否则会TLE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: