再帰呼び出しを使えば?
int depth を引数につけて、再帰するときに 1 ずつ減らす。