[LeetCode] Rotate Linked List
来源:互联网 发布:保定网络托管 编辑:程序博客网 时间:2024/05/21 17:29
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.
Analysis:
The idea is to get the whole length of the list, then compute the rotate position.
And cut the list from the rotate position, link the front part to the last part.
e.g.
1->2->3->4->5->null , k =2;
len = 5;
rotate pos = 5-2 = 3;
cut list: 1->2->3 ---> 4->5->null
link : 4->5->1->2->3->null
ListNode *rotateRight(ListNode *head, int k) { // Start typing your C/C++ solution below // DO NOT write int main() function if (head==NULL || k==0) {return head;} ListNode* p = head; int len=0; //get total length while (p!=NULL){ len++; p=p->next; } //get rotate position int r; if (k%len==0){ return head; }else{ r = len-(k%len)-1; } p=head; while (r>0){ p=p->next; r--; } //cut current list, link the back to the front ListNode *q =p->next; if (q==NULL){return head;} while (q->next!=NULL){ q=q->next; } q->next = head; q=p->next; p->next=NULL; return q; }
0 0
- [LeetCode] Rotate Linked List
- LeetCode[Linked list]: Rotate List
- [leetcode][list] Rotate List
- cycle,reverse,rotate linked list
- 61. Rotate List(Linked List-Medium)
- LeetCode: Rotate List
- LeetCode Rotate List
- LeetCode : Rotate List
- [Leetcode] Rotate List
- [LeetCode] Rotate List
- [leetcode] Rotate List
- leetcode 70: Rotate List
- [Leetcode] Rotate List
- 【leetcode】Rotate List
- [LeetCode]Rotate List
- [leetcode]Rotate List
- LeetCode-Rotate List
- [leetcode] Rotate List
- [LeetCode] Partition List 分割单链表
- mos的开关特性电压 关系
- Ubuntu Server安装VNC,实现VNC客户端远程登录Ubuntu Server界面,并安装Navicat
- Codility上的练习 (13)
- SquareLinearLayout(高等于宽的自适应LinearLayout)
- [LeetCode] Rotate Linked List
- Java虚拟机(六)-JVM性能优化
- .zip.001 .zip.002怎么用压缩包解压缩
- [LeetCode] k-th permutation 第k个排列
- Java虚拟机(六)-JVM性能优化(序)
- [BZOJ 3043]IncDec Sequence
- 反射机制的一个小实例
- Codility上的练习 (14)
- HDOJ 题目1385 Minimum Transport Cost(最短路,输出路径)