public static void Main()
LinkList l = new LinkList();
l.head = l.ReverseAltKNodes(l.head, 2);
Node newnode1 = new Node(3);
Node newnode2 = new Node(4);
newnode1.next = newnode2;
Node newnode3 = new Node(5);
newnode2.next = newnode3;
Node newnode4 = new Node(6);
newnode3.next = newnode4;
Node newnode5 = new Node(7);
newnode4.next = newnode5;
Console.Write(temp.next == null ? temp.data.ToString() : temp.data + "->");
public Node ReverseKNodes(int k, Node head1)
while (temp != null && check < k)
while (current != null && count < k)
head1.next = ReverseKNodes(k, after);
public Node ReverseAltKNodes(Node head1, int k)
while (current != null && c < k)
while (count < k - 1 && current != null)
current.next = ReverseAltKNodes(current.next, k);