Merge Two Sorted Lists(2つのソート済み連結リストの結合)
Merge Two Sorted Lists(2つのソート済み連結リストの結合)とは
昇順の二つの連結リストを、一つの昇順リストへまとめる課題です。
ノードを作り直さず、参照をつなぎ替えながら線形時間で処理する方法を学べます。
判断するときに確認すること
- 空のリストを扱えるか
- 残ったノードを最後につないでいるか
- 結果の順序が保たれているか
具体例で整理する
避けたい判断
全要素を配列へ移して再ソートする。
条件が分かる判断
ダミーヘッドを使い、結果の先頭だけを特別扱いしない。
設計とレビューで使う
このページの推奨は次のとおりです。
先頭ノードを比較し、小さい側を結果へつないでポインターを進める。