package com.shekhargulati.ninetynine_problems._01_lists;
import java.util.LinkedList;
import java.util.List;
import java.util.NoSuchElementException;
public class P02 {
public static <T> T secondLast(List<T> list) {
if (list.size() < 2) {
throw new NoSuchElementException("Can't find secondLast element from a list with less than 2 elements");
}
return list.get(list.size() - 2);
}
public static <T> T secondLastRecursion(LinkedList<T> list) {
if (list.size() < 2) {
throw new NoSuchElementException("Can't find secondLast element from a list with less than 2 elements");
}
if (list.size() == 2) {
return list.getFirst();
}
return secondLastRecursion(new LinkedList<>(list.subList(1, list.size())));
}
}