class ĠSolution Ġ{ ĊĠĠĠ Ġfun Ġremove N th From End ( head : ĠListNode ?, Ġn : ĠInt ): ĠListNode ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġf : ĠListNode Ġ= Ġhead Ġ?: Ġreturn Ġhead ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġn ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf Ġ= Ġf . next !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġvar Ġpre : ĠListNode ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġc : ĠListNode Ġ= Ġhead ĊĠĠĠĠĠĠĠ Ġwhile Ġ( f . next Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf Ġ= Ġf . next !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpre Ġ= Ġc ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc Ġ= Ġc . next !! ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( pre Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġt Ġ= Ġhead . next ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhead . next Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpre . next Ġ= Ġc . next ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc . next Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġhead ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĊĠĠĠ Ġ} Ċ }