LeetCode 92. Reverse Linked List II
2014-07-27 06:55
501 查看
代码:
class Solution
{
public:
ListNode *reverseBetween(ListNode *head, int m, int n)
{
if (head==NULL || m==n)
{
return head;
}
ListNode *cut=head, *cur=head;
for (int i = 1; i < m; ++ i)
{
cut = cur;
cur = cur->next;
}
ListNode* prev = cur;
cur = cur->next;
for (int i = 0; i < n-m; ++ i)
{
ListNode* next = cur->next;
cur->next = prev;
prev = cur;
cur = next;
}
if (m == 1)
{
head->next = cur;
return prev;
} else
{
cut->next->next = cur;
cut->next = prev;
return head;
}
}
};
class Solution
{
public:
ListNode *reverseBetween(ListNode *head, int m, int n)
{
if (head==NULL || m==n)
{
return head;
}
ListNode *cut=head, *cur=head;
for (int i = 1; i < m; ++ i)
{
cut = cur;
cur = cur->next;
}
ListNode* prev = cur;
cur = cur->next;
for (int i = 0; i < n-m; ++ i)
{
ListNode* next = cur->next;
cur->next = prev;
prev = cur;
cur = next;
}
if (m == 1)
{
head->next = cur;
return prev;
} else
{
cut->next->next = cur;
cut->next = prev;
return head;
}
}
};
相关文章推荐
- [Leetcode]@python 92. Reverse Linked List II
- 【LeetCode】92. Reverse Linked List II 解法及注释
- Leetcode 92. Reverse Linked List II
- Leetcode 92. Reverse Linked List II (Medium) (cpp)
- [Leetcode] 92. Reverse Linked List II
- [leetcode] 92. Reverse Linked List II 解题报告
- 【LeetCode】92. Reverse Linked List II
- 【Leetcode】92. Reverse Linked List II && 206. Reverse Linked List
- leetcode 92. Reverse Linked List II
- Leetcode 92. Reverse Linked List II 翻转链表2 解题报告
- leetcode:92. Reverse Linked List II(Java)解答
- leetCode 92.Reverse Linked List II (反转链表II) 解题思路和方法
- [LeetCode] 92. Reverse Linked List II
- LeetCode - 92. Reverse Linked List II
- 【leetcode】92. Reverse Linked List II
- Leetcode 92. Reverse Linked List II
- LeetCode *** 92. Reverse Linked List II
- LeetCode 92. Reverse Linked List II
- [LeetCode] 92. Reverse Linked List II
- 【LeetCode】92. Reverse Linked List II