LeetCode:31.K个一组翻转链表
目录
1.K个一组翻转链表
1.K个一组翻转链表
class Solution {
public:int getlength(ListNode* head){int length = 0;while(head != nullptr){++length;head = head->next;}return length;}ListNode* reverseKGroup(ListNode* head, int k) {int length = getlength(head);if(length < k) return head;ListNode* dummy = new ListNode(0, head);ListNode* prev = dummy;ListNode* cur = head;for(int i = 0; i < length / k; i++){for(int j = 0; j < k - 1; j++){ListNode* tmp = cur->next;cur->next = tmp->next;tmp->next = prev->next;prev->next = tmp;}prev = cur;cur = cur->next;}return dummy->next;}
};