私のコードは奥村先生の『C言語による最新アルゴリズム事典』のhuffman.c がベースです。 ここでソースコード一式配布してるので興味があれば確認してください。 https://oku.edu.mie-u.ac.jp/~okumura/algo/ ハフマン以外にも興味深いアルゴリズムが目白押しですよ。 この実装では葉の判定は car[i] cdr[i] で「i<256 なら葉」としています。 プチコンにそのまま応用するなら「i<65536 なら葉」とすればいいでしょう。