Merge Two Sorted Lists(2つのソート済み連結リストの結合)

Merge Two Sorted Lists(2つのソート済み連結リストの結合)とは

昇順の二つの連結リストを、一つの昇順リストへまとめる課題です。

ノードを作り直さず、参照をつなぎ替えながら線形時間で処理する方法を学べます。

判断するときに確認すること

  • 空のリストを扱えるか
  • 残ったノードを最後につないでいるか
  • 結果の順序が保たれているか

具体例で整理する

避けたい判断

全要素を配列へ移して再ソートする。

条件が分かる判断

ダミーヘッドを使い、結果の先頭だけを特別扱いしない。

設計とレビューで使う

このページの推奨は次のとおりです。

先頭ノードを比較し、小さい側を結果へつないでポインターを進める。