Reverse Alternate K Nodes
https://www.interviewbit.com/old/problems/reverse-alternate-k-nodes/
ListNode* Solution::solve(ListNode* A, int B) {
ListNode *curr=A,*prev=NULL,*later=NULL;
int c=0;
while(curr && c<B)
{
later=curr->next;
curr->next=prev;
prev=curr;
curr=later;
c++;
}
if(later)
{
A->next=later;
c=1;
while(later && c<B)
{
later=later->next;
c++;
}
if(later->next)
{
later->next=solve(later->next,B);
}
}
return prev;
}
Comments
Post a Comment