without giving the solution I’ll sugggest you use a general problem-solving approach like what I outline here
so I’d write the first test case on paper
input: I'm a little tea pot
target: I'm A Little Tea Pot
try to describe in everyday language - without using programming terms like variables, arrays, loops, functions etc - how to get the target from the input
since you don’t want to use split the goal is to come up with a solution that does not split the input string into an array - or in everyday language avoids an intermediate step of rewriting the sentence into a sequence of separated words
if you struggle to understand the problem or come up with a solution try to break up the problem into smaller problems that are more manageable
how are problems broken up? what does a smaller problem mean? there can be many answers in general
a problem can be made smaller in size - e.g. consider an array of 10 items or 1 item instead of an array of 1000 items
a problem can be made smaller in scope - e.g. solve for just English or just Latin languages instead of all languages of the world
a problem can be broken up into multiple sub-problems - the solution to a sub-problem becomes a step in the solution of the original problem