>>518
ひとつ可能性があるとすれば、非再帰的に記述することですかね。

線形リストならば、それは可能ですが、2分木だと結構むずかしくなります。たぶん各ノードにワークエリアを設けて
戻るノードを記憶しなければならないでしょうね。
昔書いた非再帰的なコードをあげておきます。ポインタのポインタは使っていますが。
http://codepad.org/n3raxalm

私は再帰的なアルゴリズムのみしか念頭にありませんでした。
もし非再帰的に記述することを示唆しておれば、大変失礼いたしまた。