package Ġcom . q iao yu ang . algorithm Ċ Ċ /** Ċ Ġ* Ġ å¯ » æī¾ äºĮ åıī æłĳ çļĦ åĴĮ ä¸º æŁĲ ä¸Ģ åĢ¼çļĦ åħ¨éĥ¨ è·¯å¾Ħ Ċ Ġ*/ Ċ Ċ fun Ġmain () Ġ{ Ċ ĉ val Ġa Ġ= ĠBinary TreeNode ( 1 0 ) Ċ ĉ val Ġb Ġ= ĠBinary TreeNode ( 5 ) Ċ ĉ val Ġc Ġ= ĠBinary TreeNode ( 6 ) Ċ ĉ val Ġd Ġ= ĠBinary TreeNode ( 4 ) Ċ ĉ val Ġe Ġ= ĠBinary TreeNode ( 7 ) Ċ ĉ val Ġf Ġ= ĠBinary TreeNode ( 3 ) Ċ ĉ val Ġg Ġ= ĠBinary TreeNode ( 1 ) Ċ ĉ val Ġh Ġ= ĠBinary TreeNode ( 2 ) Ċ ĉ a . m Left Ġ= Ġb Ċ ĉ a . m Right Ġ= Ġc Ċ ĉ b . m Left Ġ= Ġd Ċ ĉ b . m Right Ġ= Ġe Ċ ĉ c . m Left Ġ= Ġf Ċ ĉ c . m Right Ġ= Ġg Ċ ĉ g . m Left Ġ= Ġh Ċ ĉ a . find Path ( 1 9 ) Ċ } Ċ Ċ fun ĠBinary TreeNode < Int >. find Path ( num : ĠInt ) Ġ{ Ċ ĉ var Ġsum Ġ= Ġ 0 Ċ ĉ val Ġlist Ġ= ĠLinkedList < Int >() Ċ ĉ fun ĠBinary TreeNode < Int >. traverse () Ġ{ Ċĉ ĉ list . push ( m Value ) Ċĉ ĉ sum Ġ+= Ġm Value Ċĉ ĉ when Ġ{ Ċĉĉ ĉ sum Ġ< Ġnum Ġ-> Ġ{ Ċĉĉĉ ĉ if Ġ( m Left Ġ== Ġnull ) Ġ{ ĊĉĉĉĉĠĠĠ Ġif Ġ( m Right Ġ== Ġnull ) Ġ{ Ċĉĉĉĉ ĠĠĠĠĠĠĠ Ġsum Ġ-= Ġlist . de queue () ĊĉĉĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċĉĉĉ ĠĠĠĠĠĠĠĠĠĠĠ Ġm Right !!. traverse () ĊĉĉĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĉĉĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĉĉĉĠĠĠĠĠĠĠ Ġm Left !!. traverse () ĊĉĉĠĠĠĠĠĠĠ Ġ} ĠĠ ĊĉĉĉĠĠĠ Ġm Right ?. traverse () Ċĉĉĉ ĉ sum Ġ-= Ġlist . de queue () Ċĉĉ ĉ } Ċĉĉ ĉ sum Ġ> Ġnum Ġ-> Ġ{ Ċĉĉĉ ĉ sum Ġ-= Ġlist . de queue () Ċĉĉ ĉ } Ċĉĉ ĉ else Ġ-> Ġ{ Ċĉĉĉ ĉ list . forEach Ġ{ Ġprint ("$ it Ġ") Ġ} ĊĉĉĉĠĠĠ Ġprintln () ĊĉĉĉĠĠĠ Ġsum Ġ-= Ġlist . de queue () Ċĉĉ ĉ } Ċĉĉĉĉ Ċĉ ĉ } Ċ ĉ } Ċ ĉ traverse () Ċ }