Recursive characterization of the insertion of elem as the last element of lis:
Recursive implementation:
public static ListNode insertLast(ListNode lis, String s) { if (lis == null) { ListNode res = new ListNode(); // note: res.next == null res.info = s; return res; } else { lis.next = insertLast(lis.next, s); return lis; } }