Q:

Are these complexity classes correct?

I have a few problems to do and I have a decent understanding of how they work I just want feedback on if I am correct. I need to figure out the big-oh-notation of the following.
1.
public static int[] mystery1(int[] list)  {

int[] result = new int[2*list.length];

for (int i=0; i<list.length; i++)  {

    result[2*i] = list[i] / 2+list[i] % 2;

    result[2*i+1] = list[i] / 2;

}

I think this one would be Nlog(N)
2.
public static int[] mystery2(int[] list)  {

for (int i=0; i<list.length/2; i++)  {

    int j = list.length-1-i;

    int temp = list[i];

    list[i] = list[j];

    list[j] = temp;

}

return list;

}
I think this one would be O(logN) because it's diving by 2 until it finishes
3.
public static void mystery3(ArrayList<String> list)  {

for (int i=0; i<list.size-1; i+=2)  {

   String first = list.remove(i);

    list.add(i+1, first);

}

}
I think this one would be O(N)
4.
public static void mystery4(ArrayList<String> list)  {

for (int i=0; i<list.size-1; i+=2)  {

    String first = list.get(i);

    list.set(i, list.get(i+1));

    list.set(i+1, first);

}

}
I think this one would be O(N).

A:

All are O(N) except Mystrey3 which is O(N^2)= due to add.list

