Еще один способ сделать это - просто вытолкнуть предметы с конца List
, пока мы не вытолкнем начальный элемент.Каждый элемент может быть получен за O (1) раз, поэтому вся операция O (n).
class Main{
private static List<Integer> inputs = new ArrayList<Integer>();
public static void main(String args[]){
for (int x: new int[]{2,5,1,8,6})
inputs.add(x);
System.out.println(inputs);
int start=inputs.indexOf(1);
if (start>=0){ //check if there is a 1 in input
while (inputs.size()>start)
inputs.remove(inputs.size()-1);
}
System.out.println(inputs);
}
}