LeetCode25
来源:互联网 发布:ttip数据什么意思 编辑:程序博客网 时间:2024/06/05 14:22
【题目】
将链表以k个为一组进行翻转,要求与24相同
【思路】
定义r_curr指向即将进行翻转的k个元素的紧邻的前一个元素;
定义r依次遍历将要进行翻转的k个元素,并最终执行其紧邻的后一个元素;
将遍历到的k个listnode放入数组中,进行翻转操作,最后将r_curr的next指向翻转后的列表,重复该过程直至完成
【Java代码】
public ListNode reverseKGroup(ListNode head, int k){boolean flag_head = true;ListNode[] candidate = new ListNode[k];ListNode r = head;ListNode r_curr = null;boolean flag = false;while(r != null){for(int i = 0 ; i < k ; i++){if(r == null){flag = true;break;}candidate[i] = r;r = r.next;}if(flag)break;candidate[0].next = r;for(int i = 1 ; i < k ; i++){candidate[i].next = candidate[i-1];}if(flag_head){head = candidate[k-1];flag_head = false;r_curr = head;for(int i = 0 ; i < k-1 ; i++){r_curr = r_curr.next;}}else{r_curr.next = candidate[k-1];for(int i = 0 ; i < k ; i++)r_curr = r_curr.next;}}return head;}
【递归】
该题目也可以由递归实现,只对前k个元素进行详细翻转说明,后面部分的翻转结果直接由递归函数得到
阅读全文
0 0
- LeetCode25
- Leetcode25: Longest Common Prefix
- LeetCode25:Remove Duplicates from Sorted Array
- [LeetCode25]Reverse Nodes in k-Group
- Leetcode25 Reverse Nodes in k-Group
- leetcode25 Reverse Nodes in k-Group
- leetcode25---Reverse Nodes in k-Group
- LeetCode25. Reverse Nodes in k-Group
- leetcode25: Reverse Nodes in k-Group
- leetcode25~Reverse Nodes in k-Group
- leetcode25. Reverse Nodes in k-Group
- LeetCode25. Reverse Nodes in k-Group
- leetcode25. Reverse Nodes in k-Group
- 最好的python视频教程谁有?
- 淘淘项目2
- 多重背包模板
- Warning: Could not connect to Nexus.解决方案
- 【过滤器】(3)过滤器的应用案例:网站自动登录技术(Cookie记忆)
- LeetCode25
- 9. Palindrome Number
- 未找到入口文件,或者文件读取失败,请检查后重新编译。 pages/contact/contact 出现脚本错误或者未正确调用 Page()。
- 详解SID之终结篇
- js中的!=, ==, !== 和===的区别
- jmeter 关联
- FastDFS文件系统
- QuickTime文件格式规范
- com.android.ddmlib.AdbCommandRejectedException: insufficient permissions for device: verify udev rul