【反转链表】

【反转链表】

【反转链表】_第1张图片

题目连接

反转链表 II

回顾知识

链表反转,有时完全用不到链表操作

解题思路

  数据很少,可以开数组直接水过(感觉被英雄哥带偏,但很爽快)

代码详解

//水代码
class Solution {
public:
    ListNode* reverseBetween(ListNode* head, int left, int right) {
        int a[right + 1];
        int l = left, r = right;
        int i = 1;
        ListNode* h=nullptr,*p=nullptr;
        h=head;p = head;
        while(i != left) {
            head = head->next;
            i++;
        }
        h = head;
        while (l <= r) {
            a[l] = head->val;
            head = head->next;
            l++;
        }
        //cout << a[left]<<" "<
        //p = h;
        while(left <= r) {
            h->val = a[r];
            r--;
            h = h->next;
        }
    return p;
    }
};

【过啦】!

【反转链表】_第2张图片

你可能感兴趣的:(算法练习,链表反转,c++,数据仓库)