leetcode-链表中的节点每k个一组翻转-81

Posted 天津 唐秙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-链表中的节点每k个一组翻转-81相关的知识,希望对你有一定的参考价值。

题目要求

代码实现

class Solution 
public:
    ListNode* reverseKGroup(ListNode* head, int k) 
        if(k <= 1)
            return head;
        ListNode* node = head;
        for(int i = 0; i < k; i++)
        
            if(!node)
                return head;
            node = node->next;
        
    
        ListNode* newhead = reverse(head, node);
        //经过反转之后head节点会变成一段中间的最后一个节点,头节点为newhead
        //head->next节点和下一个区间内的头节点进行连接
        head->next = reverseKGroup(node, k);
    
        return newhead;
    

private:
    //区间反转
    ListNode* reverse(ListNode* left, ListNode* right)
    
        ListNode* pre=right;
        while (left!=right) 
            ListNode* node=left->next;
            left->next=pre;
            pre = left;
            left = node;
        
        return pre;
    
    
;

以上是关于leetcode-链表中的节点每k个一组翻转-81的主要内容,如果未能解决你的问题,请参考以下文章

链表中的节点每k个一组翻转

#yyds干货盘点# 面试必刷TOP101:链表中的节点每k个一组翻转

链表中的节点每K个一组翻转(NC50/考察次数Top12/难度中等)

牛客Top200---链表中的节点每k个一组翻转(java通俗易懂详解)

js 之k个一组翻转链表

LeetCode-025-K 个一组翻转链表