Пространственная сложность вашей проблемы в O (length (str)).
Что касается строки, вы создаете новую запись для каждого нового встречаемого символа.
Теперь их мало вещи, которые следует учитывать в вашем случае: длина строки больше, чем длина всего набора символов, определенного типом данных char.
Если да, то сложность пространства составляет O (общее количество символов в типе данных char) = O (1 ) иначе это O (length (str)).
То же самое и для типа символов utf-32.
Теперь это полностью зависит от ваших входных данных - если входные данные имеют огромные размеры , обычно больше, чем общий размер типа данных char или размер utf-32, сложность пространства считается постоянной.