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

Popular posts from this blog

Perfect Peak of Array

Is Rectangle?

Sort array with squares!