leetcode-61. 旋转链表

leetcode-61. 旋转链表

题目
leetcode-61. 旋转链表

代码

#include <iostream>
using namespace std;

struct ListNode{
	int val;
	ListNode *next;
	ListNode():val(0),next(nullptr){}
	ListNode(int x):val(x),next(nullptr){}
	ListNode(int x,ListNode *next):val(x),next(next){}
};

ListNode* rotateRight(ListNode* head, int k) {
	ListNode *rot=head;
	int count=0;
	while(rot){
		count++;
		rot=rot->next;
	}
	if(k==0 || count==0 ||count==1){
		return head;
	}
	k=k%count;
	if(k==0){
		return head;
	}
	ListNode *p;
	rot=head;
	for(int i=1;i<count-k;i++){
		rot=rot->next;
	}
	p=rot->next;
	rot->next=nullptr;
	ListNode *q=p;
	for(int i=1;i<k;i++){
		q=q->next;
	}
	q->next=head;
	return p;
}

int main(){
	ListNode* head;
	int k;
	ListNode* res;
	res=rotateRight(head,k);
    return 0;
}
上一篇:洛谷P3521 ROT-Tree Rotations


下一篇:MobileNet V1、V2、V3网络结构