@kikon Thank you for such a detailed explanation! Wondering if you could clarify this last part:
j is the position at the end of the string, and i - j - 1 is the position from the start of the string; since i = 8, j = 6I understand why i would be 8, since the original length of the array (which is 6 items) expands to 8 items. But why would j be 6 at that point? Maybe I'm not understanding exactly what j is supposed to represent. You mentioned that "j is the position at the end of the string". Does that mean that j loops over the array items from right to left, i.e. the last item of the original array would be the 0 index for j, and the second to last item in the original array is 1 index for j, etc..?