Backtracking
http://www.fas.harvard.edu/~cscie119/lectures/recursion.pdf
public void tail(int n) {
if (n == 1)
return;
else
System.out.println(n);
tail(n - 1);
}
public void head(int n) {
if (n == 0)
return;
else
head(n - 1);
System.out.println(n);
}