lintcode,翻转链表 II
来源:互联网 发布:java商品信息管理系统 编辑:程序博客网 时间:2024/05/21 09:08
翻转链表中第m个节点到第n个节点的部分
样例
给出链表1->2->3->4->5->null, m = 2 和n = 4,返回1->4->3->2->5->null
挑战
在原地一次翻转完成
一刷ac
解题思路:注意细节,和翻转链表类似,将链表分割为三部分,中间部分为要翻转的部分,然后拼接。
/** * Definition for ListNode * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { /** * @param ListNode head is the head of the linked list * @oaram m and n * @return: The head of the reversed ListNode */ public ListNode reverseBetween(ListNode head, int m , int n) { if(head == null) return head; ListNode node = head; ListNode res = new ListNode(0); ListNode prev = res; prev.next = head; int len = 1; for(int i = len; i < n; i++){ if(i < m){ prev = node; node = node.next; }else node = node.next; } ListNode next = node.next; node.next = null; node = prev.next; prev.next = null; ListNode dummy = null; while(node != null){ ListNode tmp = node.next; node.next = dummy; dummy = node; node = tmp; } ListNode dummytail = dummy; while(dummytail.next != null) dummytail = dummytail.next; prev.next = dummy; dummytail.next = next; return res.next; }}
0 0
- LintCode:翻转链表 II
- 【LintCode】翻转链表 II
- lintcode,翻转链表 II
- LintCode 36 翻转链表 II
- LintCode-----36.翻转链表 II
- [Lintcode]Reverse Linked List II 翻转链表 II
- LintCode-翻转链表
- lintcode 翻转链表
- LintCode:翻转链表
- lintcode,翻转链表
- 翻转链表,lintcode
- Lintcode 翻转链表
- LintCode 翻转链表
- 翻转链表-LintCode
- LintCode : 翻转链表
- [Lintcode]翻转链表
- lintcode--翻转链表
- Lintcode翻转链表
- 小程序学习用demo推荐:豆瓣使用es6;附开发总结(适用1221)
- Android开发07_Service服务
- MySQL-5.7解压版(zip版)安装配置教程
- Leetcode 之 Swap Nodes in Pairs
- 剑指offer在线编程
- lintcode,翻转链表 II
- [点双连通分量 缩点 树链剖分] Codeforces 487E #278 (Div. 1) E. Tourists
- Jquery validate验证表单时多个name相同的元素只验证第一个的问题
- 贝叶斯分类算法
- glide加载图片
- “玲珑杯”ACM比赛 Round #7
- SSH框架之Hibernate的继承映射的形式二(三张表)
- Android实现推送方式解决方案
- Android系统权限和root权限