92. Reverse Linked List II
2017-06-16 15:42
281 查看
/**此算法就是一般的链表的交换,主要是记录交换两者的前驱; * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* reverseBetween(ListNode* head, int m, int n) { if (head == NULL || head->next == NULL || m == n)//如果链表为空或者只有一个结点,或者m=n都返回head; return head; if (m > n)//如果m>n返回空; return NULL; int count = 1; ListNode*s = new ListNode(0);//创建一个头结点,便于交换首结点 s->next = head; ListNode*p = s; ListNode *q = NULL, *flag = NULL; for (int i = 0; i < m - 1; i++) s = s->next;//记录第m个结点的前驱; q = s->next; for (int j = m; j < n; j++) { flag = q->next; q->next = flag->next; flag->next = s->next; s->next = flag; } return p->next; } };
相关文章推荐
- 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(c++)
- 92. Reverse Linked List II
- leetcode[92]Reverse Linked List II
- 92. Reverse Linked List II
- leetcode 92 Reverse Linked List II C++
- 92:Reverse Linked List II翻转链表【链表】
- [Leetcode 73] 92 Reverse Linked List II
- [LeetCode92]Reverse Linked List II
- ( Leetcode 92 ) Reverse Linked List II
- leetcode[92] Reverse Linked List II
- LeetCode92 Reverse Linked List II
- LinkedList-92-Reverse Linked List II
- 算法作业HW10:Leetcode92 Reverse Linked List II
- 92. Reverse Linked List II
- 92.Reverse Linked List II