答えてくれた方の意見を参考に、自分なりにまとめてみましたが
明らかに勉強不足なので苦労する事を覚悟でやってみようと思います。
私的メモっぽくなりますが、似たような質問が出ないよう結果だけ・・・


似たような考え方があったので応用すればいいのかなと思ってます
(ここの「青い部分を赤くする」)
ttp://www.atmarkit.co.jp/fcoding/articles/algorithm/03/algorithm03a.html

決定的にまずいのがノードの仕組み?というか、実装の仕方がさっぱり分からなく
問題外すぎたというorz