public static ListNode reverseBetween(ListNode head, int m, int n) {
ListNode pre=head,current=head,mPre = new ListNode(0),mNode = new ListNode(0),nNode = new ListNode(0),temp;
mPre.next=head;
int i=1;
while(i<=n)
{
if(i==m-1)
mPre=current;
if(i==m)
mNode=current;
if(i==n)
nNode=current;
if(m<i&&i<=n)
{
temp=current;
current=current.next;
temp.next=pre;
pre=temp;
}
else{
pre=current;
current=current.next;
}
i++;
}
mPre.next=nNode;
mNode.next=current;
if(m==1)
return nNode;
else
return head; }
相关文章
- 链表 206 Reverse Linked List, 92,86, 328, 2, 445
- C#LeetCode刷题之#206-反转链表(Reverse Linked List)
- Leetcode 206题 反转链表(Reverse Linked List)Java语言求解
- Leetcode92. Reverse Linked List II反转链表
- [LeetCode]92. Reverse Linked List II反转部分链表
- [LeetCode] 92. Reverse Linked List II 倒置链表之二
- LeetCode 92. Reverse Linked List II倒置链表2 C++
- Leetcode 141 Linked List Cycle and Leetcode 142 Linked List Cycle II-题解
- 【LeetCode】206. Reverse Linked List
- Reverse Linked List 解答