Moving to "Totally Off Topic," because it doesn't belong in "What's Wrong With My Code?" and you mentioned that it was off topic. It's a reasonable question that gets asked a lot in different ways, and there isn't a great place for those questions on this forum.
As for your question, the best advice anyone can give you, absolutely free, is to practice, practice, practice. There's no magic pill that makes you larger, smaller, or a better programmer, and there is no shortcut to gaining skills and confidence in your own ability. If you want to understand recursion better, do every recursion problem you can find, then do the same problem without recursion. Post your code and your questions here when you have them to ask others for advice, get feedback on your code and suggestions how you could have done it better and/or differently.