¿Cuál es la complejidad de este simple fragmento de código?

Estoy pegando este texto de un libro electrónico que tengo. Dice la complejidad si O (n2) y también da una explicación, pero no veo cómo.

Pregunta: ¿Cuál es el tiempo de ejecución de este código?

public String makeSentence(String[] words) {
    StringBuffer sentence = new StringBuffer();
    for (String w : words) sentence.append(w);
    return sentence.toString();
}

La respuesta que dio el libro:

E2), donde n es el número de letras en la oración. He aquí por qué: cada vez que agrega una cadena a la oración, crea una copia de la oración y ejecuta todas las letras de la oración para copiarlas. Si tiene que iterar hasta n caracteres cada vez en el bucle, y está bucle al menos n veces, eso le da un O (n2) tiempo de ejecución. ¡Ay

¿Alguien puede explicar esta respuesta más claramente?

Respuestas a la pregunta(10)

Su respuesta a la pregunta