tree 構造に対して何かしようと思ったらどうしても再帰になると思うんだが。