It also helps to know your language/compiler: if it supports tail call optimization, then you can do recursive call and avoid the memory footprint you would usually get from many recursive calls
Comment by Sébastien Portebois on "Given a choice, would you choose an iterative approach or a recursive one?" | Hashnode