您当前的位置: 首页 >  链表

对方正在debug

暂无认证

  • 3浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

翻转链表II

对方正在debug 发布时间:2020-02-18 19:21:34 ,浏览量:3

题目:https://leetcode-cn.com/problems/reverse-linked-list-ii/

/**
 * 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) {
        /*
        *链表翻转第n到m
        */
        if(n == m) return head;
        ListNode *head2 = new ListNode(-1);
        head2->next =head;
        ListNode *p1 = head2;//第n-1个数
        for(int i = 1;i next;
        ListNode *p2 = p1->next,*p4;//第n个数
        ListNode *p3 = p2->next,*pre = p2;
        n -= m;
        while(n--) {//至少循环一次
            p4 = p3->next;
            p3->next = pre;
            pre = p3;
            p3 = p4;
        }
        p2->next = p4;//p4为第m+1个数 p2为第n个数
        p1->next = pre;//p1为第n-1个数 pre为第m个数
        return head2->next;
    }
};
关注
打赏
1664895754
查看更多评论
立即登录/注册

微信扫码登录

0.4429s