LeetCode-Reverse Nodes in k-Group
来源:互联网 发布:用友软件武汉公司 编辑:程序博客网 时间:2024/05/20 14:23
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
Code:
<span style="font-size:14px;">/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *reverseKGroup(ListNode *head, int k) { if (k == 0 || k == 1) return head; ListNode *begin = head; int length = 0; while (begin != NULL) { ++length; begin = begin->next; } int turns = length/k; if (turns == 0) return head; begin = head; ListNode *end = head, *nextNode; head = head->next; for (int i = 1; i < k; ++i) { nextNode = head->next; head->next = begin; begin = head; head = nextNode; } ListNode *kBegin, *kEnd; --turns; while (turns > 0) { kBegin = head; kEnd = head; head = head->next; for (int i = 1; i < k; ++i) { nextNode = head->next; head->next = kBegin; kBegin = head; head = nextNode; } end->next = kBegin; end = kEnd; --turns; } end->next = head; return begin; }};</span>
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
- jquery制作美化星星评分插件
- HDoj 1005
- STL 之 set
- 「斜」italics() //使用斜体显示字符串 20140817 ①文本处理
- Android学习路线(二十七)键值对(SharedPreferences)存储
- LeetCode-Reverse Nodes in k-Group
- 在内嵌RAM中运行程序 No Algorithm found for 错误
- 利用非循环顺序队列采用广度搜索法求解迷宫问题(一条路径)
- Android UI【android 仿微信、QQ聊天,带表情,可翻页,带翻页拖动缓冲】
- www.qdmm.com/BookReader/3263379,57819005.aspx
- Android学习路线(二十八)保存文件
- (转)如何发布打包并发布自己的Android应用(APP)
- qdmm.com/BookReader/3263379,57819005.aspx
- Uva 10714