# アルゴ式: 918 Q3. 二分探索木への挿入 (2) (Swift)

## [Q3. 二分探索木への挿入 (2)](https://algo-method.com/tasks/918)

- 与えられたクエリで挿入をする問題
- 基本的には昨日書いたコードと同様
- と言っても、見ずに再度書いている
- structが大きくなってしまったから、アルゴ式に提出するときの順番を逆にしてみた
- 基本的にメインのコードが上に着たほうが見やすいかな
- Node自信も `Comparable` に準拠しているけれども、 keyの比較しているだけだし、それなら比較したいタイミングでkeyを比較してしまえばいい気もする
- ちょっとカッコつけたいだけで、メリットはそこまでなさそう
- 再帰的なコードをどこで書くかは迷うなぁ
- `_insert(_:under:)`みたいに再帰的なコードが長くなることもあるから、分けてしまった方が階層が一つ減るしいいかな…
- 再帰的にならないようにちょっと挑戦してみたれども、うまい方法がおもいつかなかった

[editorial]: https://algo-method.com/tasks/918/editorial

### 提出

- [AC](https://algo-method.com/submissions/435243)
