package Ġday Folders . day 1 8 Ċ Ċ import Ġday Folders . models . TreeNode Ċ Ċ @ Experimental Std lib Api Ċ fun Ġlevel Order ( root : ĠTreeNode ?): ĠList < List < Int >> Ġ{ ĊĠĠĠ Ġval Ġresult Ġ= Ġmutable ListOf < Mutable List < Int >>() ĊĠĠĠ Ġif Ġ( root Ġ== Ġnull ) Ġreturn Ġresult ĊĊĠĠĠ Ġval Ġq Ġ= ĠArray Deque < TreeNode >() ĊĠĠĠ Ġq . add ( root ) ĊĊĠĠĠ Ġwhile Ġ(! q . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġsize Ġ= Ġq . size ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < Int >() ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġq . remove First () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( node .` val `) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode . left ?. let Ġ{ Ġq . add ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode . right ?. let Ġ{ Ġq . add ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize -- ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġresult . add ( list ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġresult Ċ }