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的主要内容,如果未能解决你的问题,请参考以下文章
#yyds干货盘点# 面试必刷TOP101:链表中的节点每k个一组翻转
链表中的节点每K个一组翻转(NC50/考察次数Top12/难度中等)