Reverse Linked List II - LeetCode
来源:互联网 发布:淘宝产品摄影 编辑:程序博客网 时间:2024/05/29 02:40
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:
Given 1->2->3->4->5->NULL
, m = 2 and n = 4,
return 1->4->3->2->5->NULL
.
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
反转单链表的精髓就是,每次把最后一个Node提到首部的后方,就是把最后一个Node提到最前面。
注意一定要设置一个“哨兵头结点”,以保证第一个结点也能被反转。
ListNode dummy = new ListNode(0); dummy.next = head; head = dummy;
题目AC的代码如下:
public class Solution { public ListNode reverseBetween(ListNode head, int m, int n) { if (m >= n || head == null) { return head; } ListNode dummy = new ListNode(0); dummy.next = head; head = dummy; for (int i = 1; i < m; i++) { if (head == null) { return null; } head = head.next; } ListNode one = head; ListNode two = head.next; ListNode three = two.next; ListNode temp = three.next; for(int j = m; j < n ; j++){ temp = three.next; three.next = one.next; one.next = three; two.next = temp; three = two.next; } return dummy.next; }}
0 0
- LeetCode[Linked List]: 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
- 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
- [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
- Leetcode: Reverse Linked List II
- leetcode Reverse Linked List II
- 设计模式(C++版)之(builder)创建者模式
- Python中map()函数浅析
- php排序算法实例代码
- PHP 插入排序代码
- php对数组排序实现代码
- Reverse Linked List II - LeetCode
- 如何在电脑上测试手机网站(补充)和phonegap
- 搭建eclipse的nodejs开发环境
- Think Python 学习笔记1:编程方法
- Valid Parentheses -- LeetCode
- Rotate List - LeetCode
- android解析xml文件的方式(其一)
- android解析xml文件的方式(其二)
- Android异步下载网络图片(其三)