I see that and want to do it by appending backwards off the end of the string, then move the pointer to the new beginning. Is that "creating a new string"? Or just making a poopy on the floor for the garbage collector?
"Double the length of the old string and then cut it in half" isn't against the rules, right?
My way has the benefit of bending the rule without breaking it. After all, we weren't told to not allocate memory, we were told to not create another string.