'Reverse words in a sentence with space complexity o(1)

I got one question: to reverse the words in a sentence. e.g. the original string is Mike loves music, after conversion, it should be music loves Mike;

my approach is simple:

const reverse = (str: string) =>  str.split(' ').reverse().join(' ');

the space complexity is o(n)

However, the follow up question is how to convert it with space complexity o(1).

I am thinking to use two pointers, but seems too complex. Please advise.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source