leetcode_25_Reverse Nodes in k-Group
来源:互联网 发布:双流区2016年公交优化 编辑:程序博客网 时间:2024/04/30 02:49
描述:
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
思路:
大概思路就是找出K个结点的起始位置和并将这K 个结点采用头插法的方式依次插入到这K个结点开始位置的前面一个位置之后,就可以了。
思路倒是很简单,但是指针所指的位置的捉摸是有点麻烦的,还有就是我竟然没有把创建的头节点和整个链表给链接起来。anyway,还是把这道题目给做出来了。
代码:
public ListNode reverseKGroup(ListNode head, int k) {if(head==null||head.next==null||k==1)return head;ListNode start=new ListNode(0);start.next=head;ListNode pre=start,p=head,q=head,temp=null;int count=1;int i=0;while(p!=null){count=1;for(;count<k&&q!=null;count++)q=q.next;if(q==null)break;for(i=1;i<k;i++){//delete the nodetemp=p.next;p.next=temp.next;//insert the nodetemp.next=pre.next;pre.next=temp;}pre=p;p=p.next;q=p;}head=start.next;return head; }
结果:
0 0
- leetcode_25_Reverse Nodes in k-Group
- leetcode_25_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
- Leetcode_reverse-nodes-in-k-group
- Reverse Nodes in k-Group
- Reverse Nodes in k-Group
- SQL本地管理员用户及新建授权用户输入密码无法登录,且sa被禁用时解决方法
- 蓝桥杯:十六进制转八进制
- 算法竞赛入门经典_第七章 暴力求解法_7.2枚举排列:生成1~n的排列
- 【OpenCV归纳】1 体验OpenCV
- Android开发设计模式系列集锦
- leetcode_25_Reverse Nodes in k-Group
- c++ io manipulator
- Android源码分析-全面理解Context
- 对一道面试题的总结与扩展思考(关于一笔画问题的数学分析)
- Android 记事本NotePad
- (二十二)常用方法(工具方法)的抽取
- 【OpenCV归纳】2 读写视频
- Eclipse自动提示功能失效(ctrl + /)解决办法
- 【c++笔记十三】c++中的输入、输出和文件操作