Then I have to rush back and write down (or type) enough to get the shape of the answer out of my head and somewhere I can refer to it later.
It's a little like literate programming, perhaps, where the programmer mixes his design ideas with actual code. I'm not as strict as that (running a tangler preprocessor seems like a waste of my valuable time), but I do leave in comments where I need to put flesh on bare bones. When things work, then I take most of them out.
Pseudo-code definitely has a place in my style... comments are for communication -- with myself, with other programmers. I'll use them whenever I can.