美文网首页
leetcode 92

leetcode 92

作者: Ariana不会哭 | 来源:发表于2018-12-25 08:12 被阅读0次
    图片.png
    • 基本思想:
      主要分为两部分,找到reorder的前一个节点 + 进行reorder

    C++:

    ListNode* reverseBetween(ListNode* head, int m, int n) {
            ListNode* aa = new ListNode(-1);
            aa->next = head;
            ListNode* tt = aa;
            for (int i = 0; i < m - 1; i++) {
                tt = tt->next;
            }
    
            ListNode* start = tt->next;
            ListNode* end = tt->next;
            ListNode* t2 = start->next;
            for (int i = 0; i < n-m; i++) {
                ListNode* t3 = t2->next;
                t2->next = start;
                start = t2;
                t2 = t3;
            }
            tt->next = start;
            end->next = t2;
            return aa->next;
        }
    
    • 注意:
      reverse只能用标准三个指针用法,之前的智能一指针用法只支持全部链表reverse.

    相关文章

      网友评论

          本文标题:leetcode 92

          本文链接:https://www.haomeiwen.com/subject/porxlqtx.html