Reverse Nodes in k-Group
来源:互联网 发布:网络用户的行为分析 编辑:程序博客网 时间:2024/06/02 02:04
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode reverseKGroup(ListNode head, int k) { if(head == null || k == 1) { return head; } ListNode dummy = new ListNode(0); dummy.next = head; ListNode prev = dummy, end = head; while(end != null) { for(int i = 1; i < k && end != null; i++) { end = end.next; } if(end == null) { break; } prev = reverseK(prev, prev.next, end); end = prev.next; } return dummy.next; } // Reverses prev + [start, end] // Returns tail after reversion private ListNode reverseK(ListNode prev, ListNode start, ListNode end) { ListNode curr = start, next = curr.next; ListNode endNext = end.next; while(curr != end) { start.next = next.next; prev.next = next; next.next = curr; next = start.next; curr = prev.next; } start.next = endNext; return start; }}
Time: O(n)
Space: O(1)
0 0
- Reverse Nodes in k-Group
- Reverse Nodes in K-Group
- Reverse Nodes in k-Group
- Reverse Nodes In K Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- asp.net用三层实现多条件检索
- 用php 执行PhantomJS文件,php中使用exec,system等函数调用系统命令
- irb是干什么的 ruby
- 循环-21. 求交错序列前N项和(15)
- 关于CGAffineTransform
- Reverse Nodes in k-Group
- Oracle ADDM 自动诊断监视工具介绍
- 数组-14. 数字加密(15)
- Mqtt协议IOS端移植2
- Memento(eighthDay)
- .Net之路(十五)图解LoadRunner压力测试
- 字符串匹配神器----KMP算法
- Mqtt协议IOS端移植3
- 【OJ练习】三天打渔两天晒网