码迷,mamicode.com
首页 > 其他好文 > 详细

***25 k个一组反转链表

时间:2018-12-25 20:16:18      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:cpp   next   list   ||   for   ever   ptr   ade   eve   

    ListNode *reverseKGroup(ListNode *head, int k) {
        if (head == nullptr || head->next == nullptr || k == 1)
            return head;
        int num = 0;
        ListNode *preheader = new ListNode(-1);
        preheader->next = head;
        ListNode *cur = preheader, *nex, *pre = preheader;
        while ((cur = cur->next))
            num++;
        while (num >= k) {
            cur = pre->next;
            nex = cur->next;
            for (int i = 1; i < k; ++i) {
                cur->next = nex->next;
                nex->next = pre->next;
                pre->next = nex;
                nex = cur->next;
            }
            pre = cur;
            num -= k;
        }
        return preheader->next;
    }

***25 k个一组反转链表

标签:cpp   next   list   ||   for   ever   ptr   ade   eve   

原文地址:https://www.cnblogs.com/INnoVationv2/p/10175479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!