居然把头插法写错了,debug了一个多小时 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* reverseKGroup(ListNode* head, int k) { if(k == 1 || head == nullptr) return head; ListNode *tail = head; int i; for(i=0;i<k && tail != nullptr;i++,tail=tail->next); if(i<k) return head; tail = reverseKGroup(tail, k); ListNode* rear = head,*tmp=nullptr; head= tail; for(int i = 0;i<k;i++){ tmp = rear->next; rear->next = head; head = rear; rear = tmp; } return head; } };
时间: 2024-10-24 12:10:39