Rotate List
来源:互联网 发布:ncbi下载基因组数据 编辑:程序博客网 时间:2024/06/11 16:40
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
.
Solution:
/** * 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 || !k) return head; ListNode *p = head, *q = head; int num = 0; while(q && k) { q = q->next; k--; num++; } k %= num; if(!q && !k) return head; if(!q) q = head; while(k--) q = q->next; while(q->next) { p = p->next; q = q->next; } ListNode* r = p->next; p->next = q->next; q->next = head; return r; }};
0 0
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- rotate-list
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- Rotate List
- UVA - 10305 - Ordering Tasks(拓扑排序)
- 黑马程序员——OC笔记之内存管理
- 使用druid连接池,配置sql防火墙发现的sql注入问题
- 二叉树的层次非递归遍历运用队列
- 适配器模式
- Rotate List
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第一节:3D时代来临!
- Linux chmod +755和chmod +777 各是什么意思呢?
- /dev/mem可没那么简单
- HTML 相对路径表示方法
- 设置应用程序的图标(Setting the Application Icon)— Mac OS X
- SDN开源,从你的全世界路过
- 系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式
- hdu1250