Write a function to reverse a string. Can you discuss its time complexity?
Implement def reverse_string(s):, returning a new string containing the characters of s in reverse order. Preserve spaces, punctuation, casing, and Unicode characters. The input may be empty, and the function must not modify the original string.
def reverse_string(s):