package ĠLe etCode . æłĳ Ċ Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* Ġ@ Author ĠA q inn Ċ Ġ* Ġ@ Date Ġ 2 0 2 1 / 6 / 1 Ġ 1 : 0 8 Ġä¸ĭåįĪ Ċ Ġ*/ Ċ class ĠN åıī æłĳ çļĦ å±Ĥ æ¬¡ éģįåİĨ Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ é¢ĺ çĽ® æııè¿° : ĊĠĠĠĠ Ġ* Ġ ç»Ļ å®ļ ä¸Ģä¸ª ĠN Ġ åıī æłĳ ï¼Į è¿ĶåĽŀ åħ¶ èĬĤçĤ¹ åĢ¼çļĦ å±Ĥ åºı éģįåİĨ ãĢĤ ï¼Ī åį³ ä»İ å·¦ åĪ° åı³ ï¼Į éĢ Ĳ å±Ĥ éģįåİĨ ï¼īãĢĤ ĊĠĠĠĠ Ġ* Ġ æłĳ çļĦ åºıåĪĹåĮĸ è¾ĵåħ¥ æĺ¯ çĶ¨ å±Ĥ åºı éģįåİĨ ï¼Į æ¯ı ç»Ħ åŃĲ èĬĤçĤ¹ éĥ½ çĶ± Ġnull Ġ åĢ¼ åĪĨ éļĶ ï¼Ī åıĤ è§ģ ç¤ºä¾ĭ ï¼īãĢĤ ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠæĿ¥ æºĲ ï¼ļ åĬĽ æī £ ï¼Ī LeetCode ï¼ī ĊĠĠĠĠ Ġ* Ġ éĵ¾æİ¥ ï¼ļ https :// leetcode - cn . com / problems / n - ary - tree - level - order - traversal ĊĠĠĠĠ Ġ* Ġ èĳĹ ä½ľ æĿĥ å½Ĵ é¢Ĩ æī £ ç½ĳç»ľ æīĢæľī ãĢĤ åķĨ ä¸ļ è½¬ è½½ è¯· èģĶç³» å®ĺæĸ¹ æİĪæĿĥ ï¼Į éĿŀ åķĨ ä¸ļ è½¬ è½½ è¯· æ³¨ æĺİ åĩº å¤Ħ ãĢĤ ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġfun Ġlevel Order ( root : ĠNode ?): ĠList < List < Int >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġmutable ListOf < List < Int >>() ĊĠĠĠĠĠĠĠ Ġval Ġq Ġ= ĠLinkedList < Node ?> () ĊĠĠĠĠĠĠĠ Ġq . offer Last ( root ) ĊĠĠĠĠĠĠĠ Ġwhile Ġ( q . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcount Ġ= Ġq . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtemp Ġ= Ġmutable ListOf < Int >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( count -- Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpoll First Ġ= Ġq . poll First () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoll First ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtemp . add (` val `) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchildren . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġq . offer Last ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( temp . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres . add ( temp ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠNode ( var Ġ` val `: ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġchildren : ĠList < Node ?> Ġ= ĠlistOf () ĊĠĠĠ Ġ} Ċ Ċ }