Split the nodes of the given list into front and back halves , and return the two lists using the reference parameters . Uses the fast / slow pointer strategy .
void frontAndBackSplit ( struct Node * head , struct Node * * front_ref , struct Node * * back_ref ) { Node * slow , * fast ; slow = head ; fast = head -> next ;