天题之reverse list
来源:互联网 发布:vb中fix是什么意思 编辑:程序博客网 时间:2024/04/28 23:18
最后那个reverse函数写的比较费劲,主要是pre.next 和last.next必须指向正确位置
ref 解释 http://www.cnblogs.com/lichen782/p/leetcode_Reverse_Nodes_in_kGroup.html
ref 代码 http://www.cnblogs.com/springfor/p/3864530.html
public class Solution { public ListNode reverseKGroup(ListNode head, int k) { if(head==null || k<2) return head; ListNode dum = new ListNode(-1); dum.next = head; ListNode pre = dum, cur = head; int cnt=0; while(cur!=null){ cnt++; ListNode next = cur.next; if(cnt==k){ pre = reverse(pre, next); cnt=0; } cur = next; } return dum.next; } public ListNode reverse(ListNode pre, ListNode next){ //pre 1->2->3 next to 1<-2<-3, return 1 ListNode last = pre.next ; ListNode cur = last.next; while(cur!=next){ <strong><span style="color:#ff0000;background-color: rgb(255, 255, 204);"> // ListNode tmp = cur.next; 这里是错误的关键,必须要把last指向正确的下一个位置 last.next = cur.next; cur.next = pre.next; pre.next = cur; // cur = tmp; cur = last.next;</span></strong> } return last; }}
0 0
- 天题之reverse list
- leetcode 之 Reverse Linked List
- leetcode 之 Reverse Linked List
- LeetCode之Reverse Linked List
- leetcode之Reverse Linked List
- leetcode之 Reverse Linked List
- leetCode之 Reverse Linked List
- leetcode之reverse Linked List
- leetcode 刷题之路 67 Reverse Linked List II
- leetcode之Reverse Linked List II
- leetcode之Reverse Linked List II
- Leetcode 之 Reverse Linked List II
- LeetCode之Reverse Linked List II
- LeetCode之Reverse Linked List II
- LeetCode206之Reverse Linked List Java题解
- leetcode之Reverse Linked List II
- 【Leetcode】之Reverse Linked List II
- leetcode:单链表之Reverse Linked List II
- python生成器yield
- Android开发_XML的解析
- Java_socket程序学习01-一个客户端对一个服务器
- 要想少绑定事件,那就使用jQuery事件委托吧
- 栈的链式存储
- 天题之reverse list
- ubuntu12.04 编译Android5.0源码
- 【Tech-Android-Jni】JNI在本地函数中生成Java层的对象
- 002:用Python设计第一个游戏
- Emacs: 我的org-mode配置
- SVD奇异值分解
- 共享库查找过程
- C语言 编写一个函数,将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数,
- RFID理论基础知识