Reverse Nodes in k-Group
2016-07-07 12:48
671 查看
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode reverseKGroup(ListNode head, int k) { if (head == null || k <= 1) { return head; } ListNode dummy = new ListNode(0); ListNode prev = dummy; ListNode node = head; dummy.next = head; int count = 0; while (node != null) { count++; ListNode next = node.next; if (count == k) { prev = helper(prev, next); count = 0; } node = next; } return dummy.next; } private ListNode helper(ListNode prev, ListNode next){ ListNode last = prev.next; ListNode cur = last.next; while (cur != next) { last.next = cur.next; cur.next = prev.next; prev.next = cur; cur = last.next; } return last; } }
相关文章推荐
- 1.Node.js是什么?
- 《leetCode》: Count Complete Tree Nodes
- nodejs加密Crypto的实例代码
- Node.js DES加密的简单实现
- 推荐几个学习Node.js的站点
- Node.js 学习笔记
- Node.js des加密
- Restify一
- eclipse 安装node js 调试环境
- hadoop源码解析---INodeReference机制 推荐
- Node.js入门之快速搭建开发环境
- Node.js DES加密的简单实现
- nodejs加密Crypto的实例代码
- windows 下 express 应用于生产环境
- 为基于Express的应用上手,准备 Git与VS Code
- [LintCode] Swap Nodes in Pairs 成对交换节点
- Node.js NPM国内镜像
- Nodejs实现代理服务器配置
- 深入解析桶排序算法及Node.js上JavaScript的代码实现
- 用nodejs做Web前端服务器的一些经验