92. Reverse Linked List II
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.
题意:
将一个链表从位置m到n进行反转,在原内存空间上操作链表,完成链表m到n反转。
注意: 给定的m,n满足以下条件: 1≤m≤n≤列表的长度。
思路:
方法一:
直接在查找链表的过程中进行反转链表的指定区域。
1 | ListNode* reverseBetween(ListNode* head, int m, int n) { |
方法二:
分为三段,把中间的一段进行反转,利用递归进行反转单链表的实现函数,效率不太高。
1 | ListNode* reverseList(ListNode* head) |