Recursion using linked list

I have a big problem. I have a test in 2 days over recursion and recurrence relations. Our instructor always put a twist on everything we do. We have gone over the following recursive functions (which I understand pretty good), but we must know how to implement them with a linked list application. There are no examples in the books I have and he hasn't and will not show us any examples. If anyone has linked list based code for the following functions could you please post any you have. Myself and a few others in class are very desperate at this point.

finding n!

int fact(int n)

{

if (n==0)

return 1;

return fact(n-1)*n;

}

compute a to the nth power

float pow(float a, int n)

{

if (n==0)

return 1.0;

float t = pow(a,n/2);

if (n%2 == 0)

return t*t;

return t*t*a;

}

finding greatest common divisor

int gcd(int n1, int n2)

{

if (n2 == 0)

return n1;

return gcd(n2,n1%n2)

}

finding maximum element of array of size n

int maxA(int A[], int n)

{

if (n == 1)

return A[0];

int t = maxA(A, n-1);

if (t > A[n-1])

return t;

return A[n-1];

}

print

void printA(int A[], int n)

{

if (n >= 1)

{

print A(A, n-1);

cout<<A[n-1]<<" ";

}

}

reverse print

void revPrint(int A[], int n)

{

if (n >= 1)

{

cout << A[n-1] << " ";

revPrint(A, n-1);

}

}