package Ġcom . leetcode Ċ Ċ // Ġhttps :// github . com / an top - dev / algorithm / issues / 3 2 4 Ċ class ĠP 1 4 3 Ġ{ ĊĠĠĠ Ġfun Ġreorder List ( head : ĠListNode ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < ListNode >() ĊĠĠĠĠĠĠĠ Ġ// Ġnode Ġto Ġlist ĊĠĠĠĠĠĠĠ Ġvar Ġnode Ġ= Ġhead ĊĠĠĠĠĠĠĠ Ġwhile Ġ( node Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ+= Ġnode ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġ= Ġnode . next ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġswitch ĊĠĠĠĠĠĠĠ Ġvar Ġl Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġr Ġ= Ġlist . last Index ĊĠĠĠĠĠĠĠ Ġwhile Ġ( l Ġ< Ġr ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist [ l ++ ]. next Ġ= Ġlist [ r ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( l Ġ< Ġr ) Ġlist [ r -- ]. next Ġ= Ġlist [ l ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( l Ġ== Ġr ) Ġlist [ r ]. next Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠListNode ( var Ġ` val `: ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġnext : ĠListNode ? Ġ= Ġnull ĊĠĠĠ Ġ} Ċ } Ċ