LeetCode 25: Reverse Nodes in k-Group
来源:互联网 发布:mysql 5.5.36msi安装 编辑:程序博客网 时间:2024/05/16 04:52
Reverse Nodes in k-Group
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* reverseKGroup(ListNode* head, int k) { if (k < 2) return head; // 设置一个额外的表头指针 ListNode result(0), *tail = &result; int count = 0; ListNode *begin = head; while (head) { count++; if (count == k) { // 将 begin 和 head 之间的子链表反转,并链到 tail 结点后边,更新 tail 指针 ListNode *p = begin, *q = begin->next, *end = head->next; while (q != end) { ListNode *temp = q->next; q->next = p; p = q; q = temp; } tail->next = p; tail = begin; count = 0; head = begin = q; } else { head = head->next; } } tail->next = begin; return result.next; }};
0 0
- LeetCode(25)Reverse Nodes in K-Group
- [leetcode 25]Reverse Nodes in k-Group
- [leetcode #25]Reverse Nodes in k-Group
- leetcode 25 Reverse Nodes in k-Group
- Leetcode 25 Reverse Nodes in k-Group
- LeetCode 25 - Reverse Nodes in k-Group
- LeetCode 25: Reverse Nodes in k-Group
- leetcode 25 -- Reverse Nodes in k-Group
- leetcode 25:Reverse Nodes in k-Group
- leetcode 25: Reverse Nodes in k-Group
- [Leetcode 25] Reverse Nodes in k-Group
- Leetcode#25||Reverse Nodes in k-Group
- LeetCode 25 Reverse Nodes in k-Group
- leetcode-25 Reverse Nodes in k-Group
- LeetCode 25: Reverse Nodes in k-Group
- Leetcode #25 Reverse Nodes in k-Group
- LeetCode 25:Reverse Nodes in k-Group
- LeetCode 25 - Reverse Nodes in k-Group
- iOS小技巧
- Golang import 包问题相关详解
- Mac分区失败导致出现隐藏分区的解决办法
- 机器学习基石 作业3 Logistic回归/线性回归/特征转换
- 【Android效果集】下雨效果
- LeetCode 25: Reverse Nodes in k-Group
- 检测Activity是否在当前Task的栈顶
- hdoj 1754 I Hate It【线段树&&二叉树】【线段树求最值】
- NSOperation的基本使用——本质是对GCD的封装
- App竞品技术分析 序言
- 中科院自动化所彭思龙,相见恨晚啊
- Visual studio属性配置中可以使用到的一些宏
- 贴吧抓数据
- HDOJ 题目3853 LOOPS(概率DP)