代码拉取完成,页面将自动刷新
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* reverseBetween(ListNode* head, int left, int right) {
vector<ListNode*> temp;
ListNode* p = head;
for (int i = 1; i < left; i++)
p = p->next;
for (int i = left; i < (1 + left + right) / 2; i++, p = p->next)
temp.push_back(p);
int len = temp.size() - 1;
int i;
if (!((right - left) % 2)) i = (left + right) / 2 + 1, p = p->next;
else i = (left + right) / 2;
for ( ; len >= 0; i++, p = p->next, len--)
swap(temp[len]->val, p->val);
return head;
}
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。