Leetcode: Reverse Nodes in k-Group
来源:互联网 发布:好听的淘宝店名 编辑:程序博客网 时间:2024/06/09 16:32
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
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* reverseList(ListNode* head){if(head == NULL || head->next == NULL)return head;ListNode* tmphead = reverseList(head->next);head->next->next = head;head->next = NULL;return tmphead;}ListNode *reverseKGroup(ListNode *head, int k) { // Note: The Solution object is instantiated only once. if(k < 2 || head==NULL) return head;ListNode* prehead = NULL;ListNode* posttail = NULL;ListNode* tail = head;int num = 1;while(num < k && tail->next){num++;tail= tail->next;}if(num < k)return head;posttail = tail->next;tail->next = NULL;tail = head;head = reverseList(head);tail->next = posttail;prehead = tail;tail = prehead->next;while(tail){num = 1;while(num < k && tail->next){num++;tail= tail->next;}if(num < k)return head;posttail= tail->next;tail->next = NULL;reverseList(prehead->next);prehead->next->next = posttail;posttail=prehead->next;prehead->next = tail;prehead = posttail;tail = prehead->next;}return head; }};
once submission, bug free, Accepted
- 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
- linux更改主机名
- hdu ——1116——Play on Words(欧拉路有向图)
- 如果你是腾讯电商的产品经理,你该如何设计她?
- MFC下获取控件相对于子窗口的矩形位置
- 新手学python 第十五篇 网络编程(二)
- Leetcode: Reverse Nodes in k-Group
- OCP-1Z0-052-V8.02-141题
- 完美解决Android中,ScrollView嵌套ListView的冲突。
- android文件系统
- HttpUtility.UrlEncode和Server.UrlEncode 的区别
- GridView表格列数据字符截取
- SQL查询语句调优技巧
- ISC-dhcp server for IPv6 2011-07-26 15:34:31| 分类: linux |字号 订阅 1. 下载源码:http://www.isc.org/softw
- BigData