Solved a leaked Google interview question - reverse words in a string inplace; Time O(N), memory O(1)