singlyLinkedList() やtoBinaryTree() とは何ですか
singlyLinkedList() と toBinaryTree() は、配列で書いた値を連結リストや二分木に変換するためにRecursion側で定義している関数です。
連結リストや二分木を扱う問題では、配列のままでは引数として使えません。そのため入出力例では、これらの関数を通してデータ構造に変換しています。
singlyLinkedList(array)
配列を受け取り、片方向リストを返します。配列の各要素をノードにして、それぞれが次のノードへの参照を持ちます。先頭のノードがheadになります。
toBinaryTree(array)
配列を受け取り、完全二分木を返します。各要素が左右の子への参照を持ち、先頭が根ノードになります。
配列の並び順は木の階層順です。先頭が根ノード、次が根の左の子、その次が右の子と続きます。途中に null が入ることもあります。
カスタム入力での書き方
カスタム入力に書くのは変換前の配列です。変換はRecursion側で行うため、singlyLinkedList() と書く必要はありません。