LintCode-----36.翻转链表 II
来源:互联网 发布:工艺软件有什么 编辑:程序博客网 时间:2024/05/21 14:04
原题目
1.使用中间容器是绝对不会错的
相对来说使用了额外的空间 2928 ms
/** * Definition for ListNode * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode reverseBetween(ListNode head, int m, int n) { if (head == null) { return head; } int len = getLen(head); int[] nums = new int[len]; int index = 0; ListNode p = head; while (p != null) { nums[index] = p.val; p = p.next; index++; } change(nums, m, n); for (int i = 0; i < nums.length; i++) { ListNode node = new ListNode(nums[i]); if (i == 0) { head = node; p = head; } else { p.next = node; p = p.next; } } return head; } public void change(int[] nums, int m, int n) { m = m - 1; n = n - 1; int mid = (m + n) / 2; for (int i = 0; i <= mid; i++) { if (m + i < n - i) { int temp = nums[m + i]; nums[m + i] = nums[n - i]; nums[n - i] = temp; } } } public int getLen(ListNode head) { ListNode p = head; int counter = 0; while (p != null) { counter++; p = p.next; } return counter; }}
阅读全文
0 0
- LintCode-----36.翻转链表 II
- LintCode:翻转链表 II
- 【LintCode】翻转链表 II
- lintcode,翻转链表 II
- LintCode 36 翻转链表 II
- [Lintcode]Reverse Linked List II 翻转链表 II
- LintCode-翻转链表
- lintcode 翻转链表
- LintCode:翻转链表
- lintcode,翻转链表
- 翻转链表,lintcode
- Lintcode 翻转链表
- LintCode 翻转链表
- 翻转链表-LintCode
- LintCode : 翻转链表
- [Lintcode]翻转链表
- lintcode--翻转链表
- Lintcode翻转链表
- 线程中实例化spring注入服务
- jq判断一个字符串是否存在一个数组中
- 30 Three.js的相机飞行控件FlyControls
- HDU2614 DFS
- ZOJ
- LintCode-----36.翻转链表 II
- ansible
- Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields ∗
- 前端学习之路-看到的优秀文章
- C++ 观察者模式 (包含模板)
- MAC显示屏的网页图片兼容方案
- SPOJ
- CodeForce 687A 二分图 交叉染色
- ubantu16.04lts 创建python虚拟环境