【LeetCode】Reverse Nodes in k-Group
来源:互联网 发布:广州达内java培训 编辑:程序博客网 时间:2024/05/17 09:05
题目描述:
Given a linked list, reverse the nodes of a linked list k at a time and return its modified list.
If the number of nodes is not a multiple of k then left-out nodes in the end should remain as it is.
You may not alter the values in the nodes, only nodes itself may be changed.
Only constant memory is allowed.
For example,
Given this linked list: 1->2->3->4->5
For k = 2, you should return: 2->1->4->3->5
For k = 3, you should return: 3->2->1->4->5
如果无视常数空间这个要求的话,可以用个vector<ListNode*>(k)写个循环来很方便地解。
如果无视第二个要求的话,直接将一个节点插入到前一组的最后一个节点后面就好了,因为多了这个条件所以我们不得不将整个链表遍历两遍来确定长度。不知道有没有只遍历一遍的方法。
代码:
class Solution {public:ListNode *reverseKGroup(ListNode *head, int k) {ListNode *res = new ListNode(0);res->next = head;ListNode *prev = res;int count(0);while (head){count++;head = head->next;if (count >= k){prev = revers(prev, prev->next, k);prev->next = head;count = 0;}}return res->next;}ListNode* revers(ListNode *prev, ListNode *head, int k){int count(0);ListNode *res = head;while (head&&count < k){ListNode *next = prev->next;ListNode *curr = head;head = head->next;prev->next = curr;curr->next = next;count++;}return res;}};
0 0
- LeetCode:Reverse Nodes in k-Group
- LeetCode: Reverse Nodes in k-Group
- LeetCode : Reverse Nodes in k-Group
- leetcode 42: Reverse Nodes in k-Group
- [Leetcode] reverse nodes in K-Group
- [LeetCode]Reverse Nodes in k-Group
- LeetCode-Reverse Nodes in k-Group
- LeetCode - Reverse Nodes in k-Group
- LeetCode | Reverse Nodes in k-Group
- 【leetcode】Reverse Nodes in k-Group
- Leetcode: Reverse Nodes in k-Group
- leetcode Reverse Nodes in k-Group
- [LeetCode] Reverse Nodes in k-Group
- LeetCode题解: Reverse Nodes in k-Group
- 【Leetcode】Reverse Nodes in k-Group
- LeetCode Reverse Nodes in k-Group
- [Leetcode] Reverse Nodes in k-Group (Java)
- LeetCode(25)Reverse Nodes in K-Group
- android4.4 相机界面,来短信后阅读,退出短信界面后直接返回到应用程序列表
- 用GestureDetector实现手指滑动切换Activity
- 深入理解Java内存模型(四)——volatile
- PAT3-09. 队列中的元素排序
- 大数据来袭-玩微博共享也可以赚不少钱
- 【LeetCode】Reverse Nodes in k-Group
- MySQL参考手册第5章:日志管理
- 【uva10341】二分法解方程,注意单调性
- 基数排序
- 模板的声明和实现为何要放在头文件中?
- HttpClient json请求
- Android的组件编程模型
- Android SlidingMenu 侧拉菜单的使用(详细配置)
- Jakarta Commons