Many algorithms are "naturally recursive" and are implemented by recursive calls that occur within a loop.
There is no, "absolute, right-or-wrong, 'OK or not OK'" to be found
anywhere in computer programming ... unless you are a pundit selling books and seminars!
What matters most is that
your code is clear. That it is easy to understand what your code is doing and why. That it is easy to verify that your recursive code won't "recurse forever." That your algorithm is efficient and appropriate.
And...
well-documented! "Use comments, dammit!"
