Problem Statement:
Reverse Alternative chunks in the Singly Linked List
Given below is the scenario:
Here size of chunk k=3.
Solution:
As can be seen the chunks are:
1st Chunk : 1->2->3
2nd Chunk: 4->5->6
3rd Chunk: 7->8
Therefore, only 1st and the 3rd chunks are reversed, hence the resultant singly linked list.
Full Source Code: LINK
The Iterative solution can be tried by the users.
Problem similar to this problem is here
Please comment and suggest if any improvisation possible. Your critiques are most welcome , feel free to comment.
Happy Coding !! :)
Reverse Alternative chunks in the Singly Linked List
Given below is the scenario:
Here size of chunk k=3.
Solution:
As can be seen the chunks are:
1st Chunk : 1->2->3
2nd Chunk: 4->5->6
3rd Chunk: 7->8
Therefore, only 1st and the 3rd chunks are reversed, hence the resultant singly linked list.
Full Source Code: LINK
public Node reverseAlternativeChunks(Node root, int k , boolean flag){ if(root==null) return null; Node first=root; Node current=first; int count = k-1; while(current.next!=null && count > 0) { current=current.next; count--; } Node last=reverseAlternativeChunks(current.next,k , !flag); current.next=null; Node subHead = null; if(flag){ subHead=reverse(first); first.next=last; } else { subHead = first; current.next=last; } return subHead; }
The Iterative solution can be tried by the users.
Problem similar to this problem is here
Please comment and suggest if any improvisation possible. Your critiques are most welcome , feel free to comment.
Happy Coding !! :)
No comments:
Post a Comment